المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : أنواع البيانات Data Types و المتغيرات Variables


خادم المسلمين
30-05-2014, 02:27 PM
بسم الله الرحمن الرحيم


السلام عليكم ورحمة الله وبركاته











عندما تعمل على برنامج الـ Flash فإنك تعمل مع العديد من المعلومات وتسمى هذه المعلومات بالبيانات Data وهي تأخذ العديد من الأشكال ولتغطيتها جميعاً نقوم بتسميتها أنواع البيانات Data Types فـ هناك العديد من أنواع البيانات في الـ Action Script ولكن سوف نتحدث عن ثلاث أنواع من البيانات وهي تعتبر الأساس لأنواع البيانات أولها هي الجمل String بمعنى أي شيء يكتب بين علامتي تنصيص مثل "Action Script" أو حتى "5" فهي تعتبر جمل أما النوع الثاني فهي الأرقام Numbers وهي الأعداد مثل 4, 5 & 6 دون وضعها بين علامتي تنصيص لأننا إذا وضعناها بين علامتي فإنها بذلك تصبح جمله String لذلك تذكر الأرقام Number لا توضع أبدا بين علامتي تنصيص والنوع الأخير هو الـ Boolean وهي نوع من البيانات التي من الممكن أن تحمل قيمتين فقط أما صح true أو خطأ false وأيضا هذا النوع من البيانات لا يوضع أبدا بين علامتي تنصيص .

والآن نتحدث عن المتغيرات Variables فهي التي تمكننا من العمل مع البيانات فـ مثلا إذا قمنا بكتابة قيمة مثل 5 هذه تعتبر قيمة ولكن لا يمكننا العمل معها بهذا الشكل ولكن نريد أن نقوم بإنشاء شيء يحمل هذه القيمة وهذا الشيء يسمى بالمتغيرات Variables وكـ تشبيه فالنفرض أن المتغير هو كأس ومن الممكن أن يحتوي هذا الكأس ( المتغير ) عصيراً ( القيمة ) حالياً وبعد وقت قد يحتوي على ماء ( قيمة ) والطريقة لإنشاء المتغيرات هي شيء يعرف باسم Variable Declaration وهي دائما تبدأ بكلمة var راح تلاحظ تحول لون الكلمة إلى اللون الأزرق هذا معناه أن الكلمة محجوزة في لغة الـ Action Script أي تعتبر keywords ومن ثم مسافة وبعدها نقوم بكتابة اسم المتغير فـ هناك العديد من الشروط لتسمية المتغيرات وهي :
1- أن لا يكون اسم المتغير أي من الأسماء المحجوزة في لغة الـ Action Script .
2- اسم المتغير يمكن أن يحتوي على حروف أو أرقام أو الشرطة السفلية Underscore وهي الشرطة السفلية بشرط أن يبدأ اسم المتغير بحرف وليس برقم .
3- عند تسمية المتغيرات تراعا حالة الحروف Variables are case sensitive وهذا يعني أن اسم المتغير myVariables AnD myvariables يعتبران متغيرين مختلفين تماماً .
4- عند تسمية المتغير يجب أن لا يحتوي على الاسم على فراغات مثل myLong VariableName ولكن يمكنك أن تستغني عن الفراغ وذلك بكتابة أول حرف من الكلمة الجديد بحرف كبير مثل myLongVariableName .

أوكي نرجع لموضوعنا بعد كتابة الكلمة var ثم مسافة نقوم بكتابة اسم المتغير وهو nQuantity بعد كتابة اسم المتغير بإمكاني أن أخبر الـ Flash أي نوع من البيانات بإمكاني تخزينها في هذا المتغير وسوف أقوم بذلك بكتابة علامة colon وهي نقطتين فوق بعض فـ تظهر قائمة كبيرة بأنواع البيانات الموجودة في لغة الـ Action Script كالتالي :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_001.jpg

سوف نحدد نوع البيانات وهو Number لاحظ عند كتابة أو حرف أو حرفين من الكلمة سوف يقوم بتحديد الكلمة تلقائيا لذلك بإمكانك الضغط على مفتاح Enter كـ اختصار ثم نقوم بإنهاء الأمر بفاصله منقوطة ليكون في النهاية بهذا الشكل :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_002.jpg

ما قمنا به حتى الآن هو تعريف متغير باسم nQuantity نوعه متغير رقمي Number Data Type هذه هي طريقة الإعلان عن متغير Variable Declaration والشيء الثاني الذي يمكننا أن نقوم به هو تخزين قيمة في هذا المتغير ولعمل ذلك ننتقل لسطر جديد ثم نقوم بكتابة اسم المتغير أولا وهو nQuantity ثم مسافة ونكتب علامة يساوي = ومن ثم القيمة وهي 5 وننهي الأمر بفاصله منقوطة ليكون في النهاية بالشكل التالي :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_003.jpg

ما قمنا به حتى الآن هو تعريف متغير باسم nQuantity وهو متغير رقمي Number Data Type يحمل القيمة 5 ولرؤية ماذا يحتوي هذا المتغير نستخدم الأمر trace فهو يقوم بعرض أي شيء تضعه بين القوسين في نافذة الـ Output وهذا الأمر يساعدك إذا كنت تواجه مشكلة في أوامر الـ Action Script وذلك عن طريق تتبع الأوامر واستخراج النتائج لنافذة الـ Output للتأكد من صحتها وهو يعمل فقط في ملف الـ fla ولا يعمل في الصيغ الأخرى مثل swf وغيره أي يعمل فقط في وضع الاختبار Test Mode إذا ننتقل لسطر جديد ونكتب الأمر trace ثم أفتح قوس ( وأكتب اسم المتغير nQuantity ثم أغلق القوس وأنهي الأمر بفاصلة منقوطة ليكون في النهاية بهذا الشكل :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_004.jpg

والآن لاختبار العمل نضغط على Ctrl + Enter لتظهر نافذة الـ Output بهذا الشكل :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_005.jpg

وإذا كان نريد أن نعطي المتغير قيمة جديدة ففي سطر جديد نقوم بكتابة اسم المتغير أولا وهو هنا nQuantity ثم مسافة ونضع علامة يساوي = ثم مسافة ونكتب القيمة ولتكن 6 وننهي الأمر بفاصلة منقوطة ثم ننتقل لسطر جديد ونكتب الأمر trace لكي نقوم بعرض قيمة المتغير ثم أفتح قوس ( وأكتب اسم المتغير وهو nQuantity وأغلق القوس ) ونهي الأمر بفاصلة منقوطة ليكون الأمر في النهاية بهذا الشكل :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_006.jpg

والآن لنقوم باختبار العمل بالضغط على Ctrl + Enter لتظهر لنا نافذة الـ Output كما يلي :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_007.jpg

ما سبب ظهور هذه النتائج ؟ أوكي في البداية قمنا بإنشاء متغير باسم nQuantity ثم قمنا بإسناد القيمة 5 لهذا المتغير ثم استخدمنا الأمر trace لعرض قيمة المتغير لذلك تم عرض القيمة 5 في نافذة المخرجات Output عندما قمنا بإسناد قيمة جديدة للمتغير وهي القيمة 6 فإن القيمة القديمة سوف تحذف وتعتمد القيمة جديد لذلك عندما استخدمنا الأمر trace لعرض قيمة المتغير تم عرض القيمة 6 في نافذة المخرجات Output ويمكننا أن نقوم بإسناد قيمة للمتغير بسطر واحد مع تعريف المتغير وذلك كالتالي :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_008.jpg

وعند اختبار العمل سوف تحصل على نفس النتائج السابقة في نافذة المخرجات Output لنقوم بتغيير القيمة 6 ونضع بدلاً منها القيمة "Action Script" والآن أضغط على زر Check Syntax والذي على شكل علامة صح باللون الأزرق ومهمته هي كشف الأخطاء الموجودة في أوامر الـ Action Script إن وجدت وسوف تظهر لك النافذة التالية :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_009.jpg

وهي تخبرنا أن يوجد خطأ في أوامر الـ Action Script وتفاصيل هذا الخطأ ومكانه يظهر في نافذة المخرجات Output كالتالي :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_010.jpg

وهي تحدد مكان هذا الخطأ وهو موجود في الإطار الأول من الطبقة Layer 1 في السطر الثالث قمنا بإسناد قيمة من النوع النصي String Data Type بينما المتغير من النوع الرقمي Number Data Type لذلك يقبل الأرقام فقط لذلك نقوم بحذف القيمة "Action Script" ونضع بدلا منها القيمة 6 والآن أضغط على زر Check Syntax لتظهر لك النافذة التالية :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_011.jpg

وهي تخبرك أنه لا يوجد أخطاء في أوامر الـ Action Script .



وبذلك نكون قد توصلنا لقاعدة ثابتة وهي كالتالي :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_012.jpg




والآن ننتقل للتطبيق ونرى كيف تستخدم المتغيرات في التصاميم المتقدمة أولا قم بتحميل الملف بالمرفقات وفتح الملف variables.fla ثم قم باختبار العمل بالضغط على Ctrl + Enter لترى الشكل التالي :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_013.jpg

وركز على حركة الصورة والمشار لها بالرقم 2 وأيضا تأثير النص والمشار له بالرقم 1 والآن قم بإلغاء العرض وحدد الإطار الأول من الطبقة Actions ثم أضغط على مفتاح F9 لتظهر لك نافذة الـ Action Script ما نريده هنا هو فقط تعريف المتغيرات في الأعلى كما في الشكل التالي :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_014.jpg

والمتغير الأول وهو nAlphaIncrement وهو يتحكم بسرعة تأثير الـ Alpha على النص أوكي نغير القيمة من واحد إلى 10 ثم قم باختبار العمل ترى تأثير النص أسرع من قبل أوكي قم بإلغاء العرض ثم غير القيمة من 10 إلى 50 ثم قم باختبار العمل لترى تأثير النص هذه المرة أسرع بكثير والسبب الذي يجعل هذا يعمل هو أننا استخدمنا هذا المتغير في الأسفل للتحكم بسرعة تأثير الـ Alpha على النص وأيضا قمنا بتعريف المتغير الثاني وهو nImageMoveIncrement وهو يتحكم بسرعة حركة الصورة لنغير القيمة من 50 إلى 20 وقم باختبار العمل لترى أن الصورة تتحرك ببطء هذه المرة قم بإلغاء العرض ولنغير القيمة من 20 إلى 1 ثم قم باختبار العمل لترى الصورة تتحرك ببطء شديد والآن المتغير الأخير وهو sCaptionText وهو عنوان الصورة لنقم بتغيير العبارة من A RAINY DAY IN CANADA إلى A SAD DAY IN CANADA ثم قم باختبار العمل لترى أن عنوان الصورة تغير كما في الشكل التالي :

http://www.arabsgate.com/eduimages/images4/Crimson/LearingActionScript2.0/ActionScript_015.jpg

والسبب الوحيد الذي يجعل هذه التغييرات تعمل بشكل ممتاز هي أننا استخدمنا هذه المتغيرات في الأسفل لتحديد سرعة تأثير النص وسرعة حركة الصورة بالإضافة لعنوان الصورة وهذا يعطينا صورة أوضح لأهمية المتغيرات وفائدتها وسرعتها أثناء تغيير بعض الأشياء أوامر الـ Action Script .

الحارث بن فيصل
30-05-2014, 05:56 PM
خالص الشكر والامتنان على ما بذلتموه من جهود مباركة في إعداد هذا العمل


وفقكم الله وأثابكم ونفع بكم

أبو يوسف
31-05-2014, 02:59 PM
جزاكم الله خيرا أخانا خادم المسلمين

موفق بإذن الله ... لك مني أجمل تحية .

أبو صخر
31-05-2014, 08:24 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

abohmam
31-05-2014, 11:44 PM
جزاك الله خيرا أخى خادم المسلمين

بارك الله في جهودك

أبو فارس
06-06-2014, 10:58 AM
موفق بإذن الله ... لك مني أجمل تحية .