اردت ان يؤدوا مهمة عدة مرات داخل اطار واحد.
استخدام الداره لاداء المهمة نفسها عدة مرات داخل اطار واحد. على سبيل المثال ، يمكنك استخدام ا لبيان :
ل(فار ط = 0 ؛ ط <10 ؛ انا + +) (/ / من قيمة العرض الاول. أثر (ط) ؛)
عندما تريد ان تعدم نفس العمل (او تغييرات طفيفة منه) مرات متعددة ضمن اطار واحد ، واستخدام الادارة لجعل البيان الشفره اكثر اقتضابا ، واسهل في القراءة ، واسهل لتحديث. يمكنك استخدام بينما بيان أو لبيان لهذا الغرض ، ولكن عموما ا لبيان هو الخيار الافضل. كلا البيانين تحقيق النتيجة ذاتها ، ولكن لبيان هو اكثر إحكاما وأكثر معرفة لمعظم المبرمجين.
النحو من ا لبيان يتألف من خمسة أجزاء أساسية :
|
|
فإن لكلمة رئيسية
كل لبيان يجب ان تبدأ مع ا لكلمة رئيسية.
التهيءه التعبير
الحلقه عادة ما يستخدم مؤشر متغير (أ طلعت حلقة مضادة) هو ان تتم تهيئة عندما البيان الاول هو المصادفه. فان التهيءه تتم مرة واحدة فقط بغض النظر عن عدد المرات التي يتكرر الحلقه.
اختبار التعبير
أ الداره وينبغي ان يتضمن اختبار التعبير ان العودة الحقيقية او الكاذبه. اختبار التعبير حالما يتم تقييم كل مرة خلال الحلقه. عموما ، واختبار التعبير يقارن مؤشر قيمة المتغير الى آخر ، مثل اكبر عدد ممكن من حلقة التكرار. عموما يجب ان تقيم على التعبير الحقيقي عن بيان للجسم لتنفيذه (على النقيض من هذا مع ان تفعل... وبينما الداره ، والذي ينفذ مرة واحدة على الاقل ، حتى لو كانت زاءفه هو اختبار التعبير). ومن ناحية أخرى ، اذا كان اختبار التعبير يصبح ابدا زاءفه ، you'll ايجاد انهائي الداره ، مما يؤدي الى وجود فلاش ، محذرا من ان اللاعب يركض ببطء (الذي يبدو بعد 15 ثوان).
تحديث التعبير
تحديث التعبير عادة تحديثات قيمة المتغير المستخدمة في اختبار التعبير بحيث انه ، عند نقطة ما ، يصبح الاختبار التعبير كاذبة وتنتهي الحلقه. تحديث التعبير ينفذ مرة واحدة في كل مرة من خلال الحلقه. الداره لا حصر لها في كثير من الاحيان بسبب عدم استكمال المناسبه المتغير في تحديث التعبير (وعادة ما تستخدم نفس المتغير في اختبار التعبير).
بيان الهيءه
بيان الهيءه هو كتلة من substatements المغلقه في جعدة الحمالات ان ينفذ في كل مرة من خلال الحلقه. واذا كان التعبير هو الاختبار الحقيقي ابدا ، لبيان للهيئة لن يكون اعدم.
فإن لكلمة رئيسية ينبغي ان يأتي اولا ، وانه ينبغي ان يتبعه التهيءه ، والاختبار ، وتحديث العبارات المغلقه بين قوسين. الفوارز المنقوطه يجب ان تفصل بين ثلاث عبارات من احد آخر (على الرغم من التهيءه ، والاختبار ، ويتم تحديث البيانات الاختياري ، الفوارز المنقوطه هي الزاميه). ما تبقى من لحلقة مكونة من بيان الهيءه المغلقه في جعدة الحمالات. الشكل العام هو :
ل(التهيءه ؛ اختبار ؛ تحديث) (بيان الهيءه)
هنا مثال على ا لبيان ان النواتج الاعداد 0 الى 999. لأن الرقم القياسي المتغير الاول هو المتغيرات المحلية ، ونحن مع انها مقدمة فار الكلمات الرئيسية في التهيءه التعبير.
ل(فار ط = 0 ؛ انا <1000 ؛ انا + +) (تعقب (ط) ؛) إثر) "ان للنهاية.") ؛
فهم لبيان ، يمكنك اتباع جنبا الى جنب مع actionscript مترجم كما انها عمليات القيادة. في السابق مثلا ، ليروي مترجم الكلمات الرئيسية لاداء البيانات داخل الداره لطالما المشروط هو التعبير الحقيقي. فإن التعبير هو التهيءه اعدم مرة واحدة فقط ، وانها تضع المتغير الأول 0. المقبل ، المترجم الشيكات اختبار التعبير ط <1000). 0 لأنني هو ، وهو اقل من 1000 ، ويقيم على التعبير الصحيح وتعقب () العمل داخل لبيان الهيءه المنفذة. فان actionscript مترجم ثم ينفذ استكمال البيان ، في هذه الحاله انا + + ، الزيادات التي أنا بها 1. المترجم ثم تكرر هذه العملية من اعلى الحلقه (ولكن القفزات فإن خطوة التهيءه). حتى المترجم الشيكات مرة اخرى ما اذا كان اختبار التعبير صحيح ، واذا كان الامر كذلك ، ينفذ بيان الهيءه مرة اخرى. ومن ثم ينفذ استكمال البيان من جديد. تكرر هذه العملية حتى اختبار التعبير لم يعد صحيحا. آخر قيمة عرضها في نافذة الناتج هو 999 ، لأن الأول هو متى ازداد الى 1000 ، لاختبار التعبير لم يعد صحيحا ويقيم على الحلقه الى نهايته. بمجرد ان ينهي الحلقه ، مع تواصل تنفيذ الاوامر مهما كانت تتبع حلقة.
كل من التهيءه واستكمال عبارات يمكن أن تشمل الاجراءات المتعددة التي تفصل بينها فواصل. المثال التالي الزيادات في وقت واحد وانا التناقصات ي ، وعروض قيمهم في الناتج النافذة :
ل(فار ط = 0 ، ي = 10 ؛ ط <10 ؛ انا + + ، j --) (تعقب ( "انا هو" + ط) ؛ إثر) "ي" + ي) ؛)
السابقة مثلا لا يماثل باستخدام اثنين متداخل للبيانات (الذي يرد في القانون المقبل الكتلة).
ومن الشائع ايضا استخدام متداخل للبيانات. عندما كنت تستخدم لبيان متداخل ، واستخدام مختلف مؤشر متغير من تلك المستخدمة في ابعد عن الداره. من جانب الاتفاقية ، وأبعد عن الداره استخدامات المتغير الأول ، ومتداخل الداره لاستخدامات المتغير ياء على سبيل المثال :
ل(فار ط = 1 ؛ ط <= 3 ؛ انا + +) (ل(فار ي = 1 ؛ ي <= 2 ؛ ي + +) (اثر ط + "x" + ي + "=" + (ط * ي)) ؛))
السابقة مثلا يعرض الجدول التالي ضرب الناتج في النافذة :
1 × 1 = 1 1 × 2 = 2 2 1 = 2 × 2 × 2 = 4 3 × 1 = 3 3 × 2 = 6
ومن الممكن عش لمستويات متعددة من البيانات. من جانب الاتفاقية ، كل على مستوى آخر التعشيش الاستخدامات القادمة الطابع الهجائي حسب المؤشر متغير. ولذلك ، فإن المستوى الثالث من متداخل للالبيانات عادة ما يستخدم ك المؤشر متغير :
ل(فار ط = 1 ؛ ط <= 3 ؛ انا + +) (ل(فار ي = 1 ؛ ي <= 3 ؛ ي + +) (ل(فار ك = 1 ؛ ك <= 3 ؛ ك + +) أثر (ط + "x" + ي + "x" + ك + "=" + (ط * ى * ك)) ؛)))
بالاضافة الى ذلك ، يمكنك إستخدامها للبيانات الى الداره الى الوراء :
/ / عد الى الوراء في الفترة من 10 الى 1. ل(فار ط = 10 ؛ ط> 0 ؛ انا --) (تعقب (ط) ؛)
انت لا ينبغي ان يستخدم لبيان لاداء المهام مع مرور الوقت.
العديد من المبرمجين نقع في خطأ محاولة لاستخدام البيانات من أجل تنشيط لقطات الفيلم. على سبيل المثال :
ل(فار ط = 0 ؛ ط <20 ؛ انا + +) (mymovieclip._x + = 10 ؛)
ورغم ان التحركات السابقة المدونه الفيلم كليب 200 بكسل للحق نقطة انطلاق لها ، جميع التحديثات تتم داخل نفس الاطار. هناك مشكلتين مع هذا. اولا وقبل كل شيء ، المرحلة يستكمل الاطار الواحد الا مرة واحدة ، حتى الأخير فقط تحديث يرد على المرحلة (التسبب في فيلم كليب للقفز فجاه 200 بكسل بدلا من ان تتحرك بسلاسه في 20 خطوات). والثانية ، حتى لو المرحلة تحديثات وفي اكثر الاحيان ، من خلال كل تكرار للحلقة تحيط سوى عدد قليل من الألف ، وبالتالي فان الرسوم المتحركه يمكن ان يحدث بسرعة كبيرة. للاجراءات التي تريد ان تجرى على مر الزمن ، استعمل onenterframe () المعالج.
علاوة على ذلك ، فان تكرار حلقات ضيقة لا ينبغي ان تستخدم لاداء عمليات طويلة (اي شىء ان يستغرق الأمر أكثر من جزء من الثانية). الخاطف اعب عروض تحذير كلما تكرار مفرد ينفذ منذ اكثر من 15 ثانية. باستخدام onenterframe ((المعالج او setinterval () وظيفة يتفادى رسالة تحذير ويسمح فلاش لاداء الاعمال الاخرى بالاضافة الى الاعمال المتكررة التي تقوم بها التي هي جزء من الحلقه.
|
|