أكثر Math.random () طريقة في نظام الجسيمات
في آخر درس تعليمي ، أكملنا رسوم تساقط الثلوج لنظام الجسيمات Flash CS3 الخاص بنا. أولا أنشأنا الرسوم المتحركة ندفة الثلج واحد. ثم أنشأنا العديد من رقاقات الثلج المتحركة لإكمال الرسوم المتحركة للثلوج. ومع ذلك ، عندما اختبرنا الفيلم ، لم نكن سعداء للغاية بالنتائج لأن الثلج يبدو أنه مفقود من الركن الأيسر السفلي من المرحلة.

ماذا يمكننا أن نفعل لضبط الرسوم المتحركة لدينا؟ كما لدينا الآن ترميز ، يمكن أن تبدأ ندفة الثلج حياتها في أي مكان على طول الجزء العلوي من المرحلة في وضع بين 0 و 510 على المحور X. ثم تسير ندفة الثلج هذه في اتجاه نزولي باتجاه اليمين. يبدو أن هذا الاتجاه الزاوي هو الذي تسبب في فقدان الثلج من الزاوية اليسرى السفلى من المرحلة. يمكن أن نخرج الشفرة التي تخلق الحركة الزاويّة وستسقط رقاقات الثلج لدينا مباشرة أسفل المنصة. إذا فعلنا ذلك ، فإن تساقط الثلوج سيغطي المرحلة بأكملها ولكننا سنخسر وهم الرياح التي تحاكيها الحركة الزاوية.

لنفترض أننا نريد الحفاظ على هذا الوهم من الرياح ، وبالتالي نحن بحاجة إلى الحفاظ على الحركة الزاوية. كما ذكرنا أعلاه ، يمكن أن تبدأ الثلج لدينا في أي مكان على طول الجزء العلوي من المرحلة. ومع ذلك ، حتى الثلوج التي تبدأ في السقوط من أقصى يسار المرحلة (عند الموضع صفر على المحور X) ستهبط في أسفل مركز المرحلة ، تاركة المنطقة اليسرى خالية. كيف يمكننا تغيير الكود الخاص بنا حتى تدخل بعض رقاقات الثلج إلى المنصة عند نقطة أقل بطول المحور الرأسي Y وبالتالي تسقط عبر الزاوية اليسرى من المرحلة. دون الخوض في الكثير من الرياضيات في هذا البرنامج التعليمي للمبتدئين ، نحتاج إلى البدء في إنشاء رقاقات الثلج خارج منطقة المسرح على اليسار. على الرغم من أن هذه الثلج ستكون غير مرئية عندما تبدأ حياتها ، إلا أنها ستسقط ما لا يقل عن نصف الطريق أسفل المحور Y العمودي قبل أن تدخل المرحلة وتصبح مرئية. من خلال القيام بذلك ، فإننا نؤمن بأن هذه الثلج ستسقط عبر الزاوية اليسرى السفلى من المرحلة.

في الوقت الحالي ، نقوم بإنشاء رقم عشوائي لخاصية__Snowflake.x. تذكر أن خاصية _Snowflake.x هي التي تتحكم في موضع X الأولي لرقائق الثلج لدينا. هذا الموضع الأولي يمكن أن يكون أي رقم بين 0 و 510 على طول المحور X.

_Snowflake.x = Math.random () * 510؛

إذا طلبنا من Flash استخدام رقم يتراوح بين -350 و 510 ، فستكون رقاقات الثلج التي تبدأ برقم سالبة هي رقاقات الثلج التي تسقط في النهاية في الزاوية اليسرى السفلى من المرحلة. يمكننا القيام بذلك عن طريق إضافة -350 إلى الرقم العشوائي الذي تم إنشاؤه بواسطة الأسلوب Math.random ().

_Snowflake.x = -350 + Math.random () * 510؛

تغيير هذا السطر من التعليمات البرمجية واختبار الفيلم. ماذا حدث؟ نحن إصلاح مشكلتنا وتسبب آخر. الآن الثلج مفقود من الزاوية اليمنى العليا من المرحلة. لماذا ا؟ سيكون أكبر عدد لخاصية the_Snowflake.x (موضع ندفة الثلج على طول المحور X) هو 160 (510 - 350). لا يحتوي باقي المحور X بين 161 و 550 على أي رقاقات ثلجية وهذا هو السبب في أن الزاوية اليمنى العليا خالية من الثلج. كيف يمكن أن نحصل على رقم لخاصية__Snowflake.x بين 0 و 550؟ يمكننا تمديد نطاق الرقم العشوائي إلى ما بين 0 و 900 (550 + 350).

_Snowflake.x = -350 + Math.random () * 900؛

تغيير الرمز واختبار مرة أخرى. إنها تعمل. هل انتهينا؟ لا ، إذا سمحت بتشغيل هذه الرسوم المتحركة لبعض الوقت ، فستلاحظ أنها تبدأ في مهمة موارد جهاز الكمبيوتر الخاص بك. نحتاج إلى إجراء بعض التغييرات على ActionScript لجعلها أكثر فعالية.

ملاحظة - لا يكتمل رمز الرسوم المتحركة هذا حتى تصل إلى نهاية سلسلة البرامج التعليمية. لا تستخدم هذا الرمز غير المكتمل في مشاريع Flash الخاصة بك.

حقوق النشر 2018 Adobe Systems Incorporated. كل الحقوق محفوظة. أعيد طبع (لقطات) شاشة منتج Adobe بإذن من Adobe Systems Incorporated. Adobe و Photoshop و Photoshop Album و Photoshop Elements و Illustrator و InDesign و GoLive و Acrobat و Cue و Premiere Pro و Premiere Elements و Bridge و After Effects و InCopy و Dreamweaver و Flash و ActionScript و Fireworks و Contribute و Captivate و Flash Catalyst و Flash Paper هي / هي إما [a] علامة تجارية مسجلة أو علامة تجارية لـ Adobe Systems Incorporated في الولايات المتحدة و / أو البلدان الأخرى.


تعليمات الفيديو: Group theory 101: How to play a Rubik’s Cube like a piano - Michael Staff (أبريل 2024).