والآن نتحدث عن نوع آخر من أنواع جمل الشرط وهو الأمر switch واستكمالا للدرس السابق وصلنا في النهاية لهذه الأوامر كالتالي :

نريد تحويل هذه الأوامر بدلا من استخدم if, else if & else نقوم باستخدام الأمر switch في البداية سوف نقوم بتحويل الأوامر if, else if & else إلى تعليق comment والتعليقات مفيدة إذا كنت تريد أن تضع ملاحظات عن وظيفة أمر معين لكي تستفيد منها للتعرف على هذه الأوامر عندما تعود لتصميمك مستقبلاً وأي شيء يحول إلى تعليق لا يتم تنفيذه إطلاقاً وهناك نوعين من التعليقات هو Multi Line Comment وهو إدراج تعليق يتكون من عدة سطور وهي تبدأ بـ /* وتنتهي بـ */ كما في الشكل التالي :

والنوع الثاني من التعليقات هو Single Line Comment و هو إدراج تعليق يتكون من سطر واحد فقط ويبدأ بـ // كما في الشكل التالي :

والآن في السطر الرابط قم بكتابة الأمر switch ثم أفتح قوس وأكتب قيمة المتغير وهي nQuantity والسبب أنك سوف تقوم بمقارنة قيمة المتغير nQuantity مع مجموعة من الـ cases بداخل الأمر switch والآن أغلق القوس وأفتح قوس متموج ثم أنتقل لسطر جديد واكتب الأمر case ثم مسافة وأكتب العدد لكي تقوم بمقارنته مع قيمة المتغير وهي 5 ثم ضع نقطتين فوق بعض وأنتقل لسطر جديد وأكتب الأمر trace بالشكل التالي trace("Yes, the first condition was met."); ثم أنتقل لسطر جديد وأضف الأمر case مرة أخرى وبعدها مسافة وضع العدد 6 ثم ضع نقطتين فوق بعض وأنتقل لسطر جديد وأكتب الأمر trace بهذا الشكل trace("Yes, the second condition was met."); وأنتقل أيضا لسطر جديد وأكتب الأمر default وهو له نفس عمل الأمر else ثم ضع نقطتين فوق بعض وأنتقل لسطر جديد وأكتب الأمر trace بهذا الشكل trace("No, the condition was not met."); ثم أنتقل لسطر جديد وأنتهي الأمر switch بإغلاق القوس المتموج ليكون الأمر في النهاية بهذا الشكل :

والآن قم باختبار العمل لتظهر لك نافذة المخرجات بالشكل التالي :

فما سبب ظهور هذه النتائج ؟ في البداية قمنا بتعريف متغير باسم nQuantity ويحمل القيمة 6 ثم ينتقل للسطر الثاني حيث يجد الأمر switch وينظر للشرط حيث يتحقق من قيمة المتغير nQuantity ثم ينتقل للأمر case الأول حيث سوف يقوم بمقارنة بمقارنه العدد 5 مع قيمة المتغير ليتحقق هل قيمة المتغير تساوي العدد 5 وهي هنا لا تساوي قيمة المتغير إذا سوف ينتقل للأمر case الثاني ويقوم بمقارنه العدد 6 مع قيمة المتغير ليتحقق هل قيمة المتغير تساوي العدد 6 وهي هنا نعم تساوي قيمة المتغير وبالتالي تقوم بتنفيذ الأمر trace وتعرض العبارة Yes, the second condition was met. في نافذة المخرجات Output ثم ينتقل للأمر default ويقوم بتنفيذ الأمر trace وعرض العبارة No, the condition was not met. ومن الطبيعي في حالة تنفيذ أحد الـ cases فإنه لن يتم تنفيذ الأمر default بينما في حالة عدم تنفيذ أي من الـ cases فإنه يتم تنفيذ الأمر default إذا ما هي المشكلة ؟ المشكلة أنه يجب عليك أن تضع الأمر break; أسفل الأمر case وهي تقول في حالة تنفيذ أحد الـ cases أخرج من الأمر switch بينما لا نضع الأمر break; أسفل الأمر default لأن موجود في آخر الأمر switch وبعد تعديل الأوامر السابقة سوف تكون بالشكل التالي :

والآن قم باختبار العمل لترى نافذة المخرجات بالشكل التالي :

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

وهذا مخطط يوضح طريقة عمل الأمر switch كالتالي :

والآن ننتقل للتطبيق أفتح الملف والذي باسم switch.fla ثم قم باختبار العمل لترى الصورة تبدأ الحركة من أسفل اليسار والآن قم بإلغاء العرض وحدد الإطار الأول من طبقة الـ Actions وأفتح نافذة الـ Action Script والمهم هنا الأوامر التالية :

في البداية قمنا بتعريف المتغير sAnimateStyle ويحمل القيمة leftbottom وفي السطر الثاني قمنا بوضع الأمر switch لكي نقارن قيمة المتغير مع عدد من الـ cases لنحدد من أين تبدأ الصورة الحركة فـ مثلا في الـ case الأول تبدأ حركة الصورة من اليسار بينما في الـ case الثانية تبدأ حركة الصورة من اليمين والثالثة تبدأ حركة الصورة من الأعلى والرابعة تبدأ حركة الصورة من الأسفل وهكذا ماذا إذا أردنا أن تبدأ الحركة من الأسفل فـ نقوم بتغيير قيمة المتغير من leftbottom إلى bottom ثم قم باختبار العمل لترى أن الصورة تبدأ حركتها من الأسفل وأيضا بإمكانك أن تقوم بتغيير قيمة المتغير إلى righttop لتبدأ حركة الصورة من أعلى اليمين .
لتحميل ملف التطبيق :
ًhttp://www.gigasize.com/get.php/-1100745166/switch.rar
تمنياتي لكم بالتوفيق
ســ لمــ لمــ
ســ لمــ لمــ









أضف تعليقا
<<الصفحة الرئيسية