أنواع البيانات Data Types
AnD
المتغيرات Variables
عندما تعمل على برنامج الـ 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 كالتالي :
سوف نحدد نوع البيانات وهو Number لاحظ عند كتابة أو حرف أو حرفين من الكلمة سوف يقوم بتحديد الكلمة تلقائيا لذلك بإمكانك الضغط على مفتاح Enter كـ اختصار ثم نقوم بإنهاء الأمر بفاصله منقوطة ليكون في النهاية بهذا الشكل :
ما قمنا به حتى الآن هو تعريف متغير باسم nQuantity نوعه متغير رقمي Number Data Type هذه هي طريقة الإعلان عن متغير Variable Declaration والشيء الثاني الذي يمكننا أن نقوم به هو تخزين قيمة في هذا المتغير ولعمل ذلك ننتقل لسطر جديد ثم نقوم بكتابة اسم المتغير أولا وهو nQuantity ثم مسافة ونكتب علامة يساوي = ومن ثم القيمة وهي 5 وننهي الأمر بفاصله منقوطة ليكون في النهاية بالشكل التالي :
ما قمنا به حتى الآن هو تعريف متغير باسم nQuantity وهو متغير رقمي Number Data Type يحمل القيمة 5 ولرؤية ماذا يحتوي هذا المتغير نستخدم الأمر trace فهو يقوم بعرض أي شيء تضعه بين القوسين في نافذة الـ Output وهذا الأمر يساعدك إذا كنت تواجه مشكلة في أوامر الـ Action Script وذلك عن طريق تتبع الأوامر واستخراج النتائج لنافذة الـ Output للتأكد من صحتها وهو يعمل فقط في ملف الـ fla ولا يعمل في الصيغ الأخرى مثل swf وغيره أي يعمل فقط في وضع الاختبار Test Mode إذا ننتقل لسطر جديد ونكتب الأمر trace ثم أفتح قوس ( وأكتب اسم المتغير nQuantity ثم أغلق القوس وأنهي الأمر بفاصلة منقوطة ليكون في النهاية بهذا الشكل :
والآن لاختبار العمل نضغط على Ctrl + Enter لتظهر نافذة الـ Output بهذا الشكل :
وإذا كان نريد أن نعطي المتغير قيمة جديدة ففي سطر جديد نقوم بكتابة اسم المتغير أولا وهو هنا nQuantity ثم مسافة ونضع علامة يساوي = ثم مسافة ونكتب القيمة ولتكن 6 وننهي الأمر بفاصلة منقوطة ثم ننتقل لسطر جديد ونكتب الأمر trace لكي نقوم بعرض قيمة المتغير ثم أفتح قوس ( وأكتب اسم المتغير وهو nQuantity وأغلق القوس ) ونهي الأمر بفاصلة منقوطة ليكون الأمر في النهاية بهذا الشكل :
والآن لنقوم باختبار العمل بالضغط على Ctrl + Enter لتظهر لنا نافذة الـ Output كما يلي :
ما سبب ظهور هذه النتائج ؟ أوكي في البداية قمنا بإنشاء متغير باسم nQuantity ثم قمنا بإسناد القيمة 5 لهذا المتغير ثم استخدمنا الأمر trace لعرض قيمة المتغير لذلك تم عرض القيمة 5 في نافذة المخرجات Output عندما قمنا بإسناد قيمة جديدة للمتغير وهي القيمة 6 فإن القيمة القديمة سوف تحذف وتعتمد القيمة جديد لذلك عندما استخدمنا الأمر trace لعرض قيمة المتغير تم عرض القيمة 6 في نافذة المخرجات Output ويمكننا أن نقوم بإسناد قيمة للمتغير بسطر واحد مع تعريف المتغير وذلك كالتالي :
وعند اختبار العمل سوف تحصل على نفس النتائج السابقة في نافذة المخرجات Output لنقوم بتغيير القيمة 6 ونضع بدلاً منها القيمة "Action Script" والآن أضغط على زر Check Syntax والذي على شكل علامة صح باللون الأزرق ومهمته هي كشف الأخطاء الموجودة في أوامر الـ Action Script إن وجدت وسوف تظهر لك النافذة التالية :
وهي تخبرنا أن يوجد خطأ في أوامر الـ Action Script وتفاصيل هذا الخطأ ومكانه يظهر في نافذة المخرجات Output كالتالي :
وهي تحدد مكان هذا الخطأ وهو موجود في الإطار الأول من الطبقة Layer 1 في السطر الثالث قمنا بإسناد قيمة من النوع النصي String Data Type بينما المتغير من النوع الرقمي Number Data Type لذلك يقبل الأرقام فقط لذلك نقوم بحذف القيمة "Action Script" ونضع بدلا منها القيمة 6 والآن أضغط على زر Check Syntax لتظهر لك النافذة التالية :
وهي تخبرك أنه لا يوجد أخطاء في أوامر الـ Action Script .
وبذلك نكون قد توصلنا لقاعدة ثابتة وهي كالتالي :
والآن ننتقل للتطبيق ونرى كيف تستخدم المتغيرات في التصاميم المتقدمة أولا قم بتحميل الملف بالمرفقات وفتح الملف variables.fla ثم قم باختبار العمل بالضغط على Ctrl + Enter لترى الشكل التالي :
وركز على حركة الصورة والمشار لها بالرقم 2 وأيضا تأثير النص والمشار له بالرقم 1 والآن قم بإلغاء العرض وحدد الإطار الأول من الطبقة Actions ثم أضغط على مفتاح F9 لتظهر لك نافذة الـ Action Script ما نريده هنا هو فقط تعريف المتغيرات في الأعلى كما في الشكل التالي :
والمتغير الأول وهو nAlphaIncrement وهو يتحكم بسرعة تأثير الـ Alpha على النص أوكي نغير القيمة من واحد إلى 10 ثم قم باختبار العمل ترى تأثير النص أسرع من قبل أوكي قم بإلغاء العرض ثم غير القيمة من 10 إلى 50 ثم قم باختبار العمل لترى تأثير النص هذه المرة أسرع بكثير والسبب الذي يجعل هذا يعمل هو أننا استخدمنا هذا المتغير في الأسفل للتحكم بسرعة تأثير الـ Alpha على النص وأيضا قمنا بتعريف المتغير الثاني وهو nImageMoveIncrement وهو يتحكم بسرعة حركة الصورة لنغير القيمة من 50 إلى 20 وقم باختبار العمل لترى أن الصورة تتحرك ببطء هذه المرة قم بإلغاء العرض ولنغير القيمة من 20 إلى 1 ثم قم باختبار العمل لترى الصورة تتحرك ببطء شديد والآن المتغير الأخير وهو sCaptionText وهو عنوان الصورة لنقم بتغيير العبارة من A RAINY DAY IN CANADA إلى A SAD DAY IN CANADA ثم قم باختبار العمل لترى أن عنوان الصورة تغير كما في الشكل التالي :
والسبب الوحيد الذي يجعل هذه التغييرات تعمل بشكل ممتاز هي أننا استخدمنا هذه المتغيرات في الأسفل لتحديد سرعة تأثير النص وسرعة حركة الصورة بالإضافة لعنوان الصورة وهذا يعطينا صورة أوضح لأهمية المتغيرات وفائدتها وسرعتها أثناء تغيير بعض الأشياء أوامر الـ Action Script .