برنامج لإنشاء ألعاب فلاش دون معرفة لغات البرمجة. يتيح لك إنشاء ألعاب من الكتل المنطقية والصور المعدة مسبقًا.
ذات مرة، ربما منذ بضع سنوات مضت، ظهر برنامج Game Maker على موقعنا على الويب، والذي سمح لك بإنشاء ألعاب دون معرفة أي لغة برمجة تقريبًا!
حتى الآن، تعد هذه الصفحة من أكثر الصفحات التي تمت مناقشتها بيننا، وغالبًا ما تكون هناك شكاوى في التعليقات من عدم إمكانية استخدامها لإنشاء ألعاب يمكن لعبها عبر الإنترنت. سنعود اليوم إلى موضوع تطوير الألعاب ونلقي نظرة على برنامج مشابه يمكنه صنع ألعاب الفلاش - ستينسل!
باستخدام Stencyl، يمكنك إنشاء ألعاب ثنائية الأبعاد من أي نوع، ولكن الأهم من ذلك كله هو أن محرك البرنامج "مصمم" لمختلف ألعاب إطلاق النار والحركة. من الناحية الهيكلية، البرنامج عبارة عن مجموعة كاملة من الأدوات التي يمكنك من خلالها، إذا رغبت في ذلك، إنشاء لعبة من الصفر دون استخدام تطبيقات الطرف الثالث.
نقوم بإغلاق النافذة المنبثقة التي تحتوي على معلومات حول الإصدار الجديد من البرنامج باستخدام الزر "إغلاق" أو "عدم إظهار هذا مرة أخرى" (إذا كنا لا نريد رؤية هذه النافذة في كل مرة نبدأ فيها البرنامج) و بدلا من ذلك نحصل على النافذة التالية:
يُطلب منا هنا إنشاء حسابنا الخاص في مجتمع مطوري Stencyl. من حيث المبدأ، ليس من الضروري إنشاء حساب (للقيام بذلك، انقر فوق الزر "ذكرني لاحقًا" في الأسفل)، ولكن التسجيل يمنحك الفرصة لتنزيل قوالب وإجراءات إضافية من وحدة تخزين عبر الإنترنت تسمى StencylForge، لذلك لن يضر :). لإنشاء حساب، انقر فوق الزر "إنشاء حساب" وانتقل إلى نموذج التسجيل:
نقوم هنا بملء الحقول القياسية بتسجيل الدخول وكلمة المرور (مرتين) وعنوان البريد الإلكتروني، ثم انقر فوق الزر "تسجيل". إذا سارت الأمور على ما يرام، فسيتم فتح واجهة نافذة بدء البرنامج أمامك أخيرًا.
خارجيًا، تنقسم مساحة عمل نافذة Stencyl Start إلى عدة مناطق:
يوجد في الجزء العلوي تقليديًا شريط قوائم وشريط أدوات. يتم جمع كافة الإعدادات الرئيسية وأزرار التحكم هنا. يوجد أسفل شريط الأدوات شريط رمادي ضيق صغير. يحتوي على علامات تبويب (نعم، واجهة Stencyl متعددة علامات التبويب، وهي مريحة للغاية) وأزرار للتبديل بينها بسرعة (على اليمين).
تنقسم منطقة العمل الرئيسية إلى قسمين: على اليسار توجد لوحة تنقل لأقسام البرنامج، وعلى اليمين يوجد المحتوى الرئيسي (على الشاشة الرئيسية توجد قائمة بالألعاب)، والتي تتغير اعتمادًا على وضع التشغيل النشط حاليًا. هناك بضعة أزرار إضافية في الأسفل تتيح لك:
لدراسة إمكانيات Stencyl بشكل مستقل، يمكنك حضور دورة تدريبية (ويُنصح بإكمالها)، بالإضافة إلى فتح إحدى الألعاب الجاهزة التي تناسب فكرتك بشكل أفضل ومعرفة كيف يعمل كل شيء هناك. وأقترح دراسة عمل البرنامج باستخدام مثال إنشاء لعبة حول مغامرات رمز موقعنا ومقيمه الافتراضي - فريدا بيست!
إذا نظرت، قبل أن تقرر إنشاء لعبتك، إلى الأمثلة القياسية للألعاب على Stencyl، فربما لاحظت أنها جميعها بسيطة جدًا، وذات شاشة واحدة ولها منظر جانبي. سنصنع لعبة إطلاق نار ديناميكية ذات رؤية علوية ونطلق النار بالماوس! كل شيء يشبه الألعاب "الكبيرة" :).
بالنسبة لمشروعك، يمكنك تغيير منطق أحد القوالب الجاهزة، لكننا لا نبحث عن طرق بسيطة وبالتالي - فقط "من الصفر"، فقط "المتشددين" :). للقيام بذلك، انقر فوق الزر "إنشاء لعبة جديدة" الموجود على شريط أدوات مساحة العمل (أو في القائمة "ملف" - "إنشاء لعبة جديدة") وادخل إلى النافذة التالية:
يمكننا هنا اختيار قالب لعبة حسب النوع مع مجموعة محددة مسبقًا من الوظائف والإجراءات لمشروعك. ومع ذلك، سنقوم بإنشاء لعبة من الصفر، لذا حدد "لعبة فارغة" وانقر فوق الزر "التالي".
في الخطوة التالية سنحتاج إلى إجراء بعض الإعدادات الأساسية:
في حقل "الاسم" نحتاج إلى الإشارة إلى اسم لعبتنا، وفي قسم "حجم الشاشة" نحتاج إلى ضبط أبعاد الملعب، مع الإشارة إلى عرضه (العرض) وارتفاعه (الارتفاع) بالبكسل. بعد ذلك، انقر فوق الزر "إنشاء" وانتقل مباشرة إلى واجهة محرر اللعبة:
بشكل افتراضي، يتم فتح علامة التبويب "لوحة المعلومات" أمامنا، حيث يتم جمع شجرة موارد اللعبة بأكملها على اليسار، وتقع منطقة العمل على اليمين. وهنا أعتقد أنه سيكون من المناسب تقديم بعض التوضيحات حول بنية "الشجرة".
يتكون من أربعة فروع، يحتوي أول فرعين منها على مجموعات قياسية من الموارد (الموارد) والمنطق (المنطق)، ويمكن للأخيرين تخزين حزم الموارد التي تم تنزيلها يدويًا (حزم الموارد) والامتدادات (الامتدادات) بشكل اختياري.
الفرع الرئيسي هنا هو فرع الموارد. ويحتوي على الأقسام التالية:
لا يوجد رأي واضح بشأن الترتيب الذي سيتم به تنفيذ هذه اللعبة أو تلك. يعتمد ذلك على ما يناسبك، لكني أوصي بالخوارزمية التالية:
نصنع المشهد الأول - نصنع الشخصية - نصنع الأعداء - نصنع المكافآت - نصنع المراحل المتبقية
لإنشاء مشهد في Stencyl، عليك رسم مظهره في فرع Scenes. ومع ذلك، من أجل الرسم، نحتاج أولاً إلى الحصول على مكعبات "للرسم" بها. تسمى هذه الكتل الموجودة في البرنامج بالبلاطات ويتم تخزينها في قسم Tileset:
مجموعة البلاط عبارة عن مصفوفة بسيطة تتكون من الصور التي تقوم بتحميلها فيها. يمكنك تحميل إما مصفوفة جاهزة (صورة تتكون من عدة صور متساوية الحجم في صف واحد أو عدة صفوف) أو استكمال المجموعات الموجودة بصور منفصلة.
أولاً، نحتاج إلى إنشاء مجموعة جديدة من البلاط (الزر "إنشاء جديد" في قسم مجموعات البلاط)، وبعد ذلك سنرى نافذة كما في لقطة الشاشة أعلاه. لتحميل صورة، نحتاج إلى النقر فوق الزر "اختيار صورة" وتحديد ملف مُعد مسبقًا بالصورة (الصور) المطلوبة في نافذة Explorer التي تفتح.
عندما يتم تحميل الصورة، سنقوم بتعيين معلمات تخطيطها وأبعادها في العرض والارتفاع، وبعد ذلك (إذا تم عرض كل شيء بشكل صحيح) يمكنك إضافة الصورة إلى المجموعة بالنقر فوق الزر "إضافة".
لكل صورة (بلاطة) في المصفوفة، يمكنك تكوين معلمات التفاعل مع شخصيات اللعبة وكائناتها. للقيام بذلك، تحتاج إلى تحديد البلاط المطلوب والوصول إلى النافذة التالية:
سيتم فتح قسم حدود التصادم في الجزء العلوي من الجزء الأيمن. يمكننا هنا اختيار شكل عشوائي للإشارة إلى حدود التفاعل بين كائننا وشخصيات اللعبة. بشكل افتراضي، تحتوي جميع البلاطات على المعلمة "مربع"، مما يجعل البلاط غير قابل للعبور وصلبًا تمامًا. إذا كنت بحاجة إلى جعل البلاط "شفافًا" للأحرف (على سبيل المثال، الجنس)، فما عليك سوى تعيين المعلمة "بدون تصادمات".
بالإضافة إلى الحدود، يمكنك ضبط الرسوم المتحركة لكل مربع عن طريق إضافة إطارات باستخدام زر "إدراج إطارات" في اللوحة السفلية. بشكل افتراضي، تبلغ سرعة الرسوم المتحركة 100 مللي ثانية، ولكن يمكن تغيير هذا الرقم بشكل عشوائي لكل إطار.
للقيام بذلك، ما عليك سوى النقر نقرًا مزدوجًا فوق الإطار المطلوب باستخدام زر الماوس الأيسر وفي النافذة التي تفتح، قم بتغيير مؤشرات التأخير كما نطلب. من الممكن أيضًا تصحيح الإطار المحدد باستخدام محرر الرسوم المدمج، والذي يفتح باستخدام زر "تحرير الإطار".
بعد تشكيل مجموعة البلاط، من المنطقي الانتقال إلى الخطوة التالية - تشكيل مساحة تشغيل نهائية من الصور المضافة. يمكن القيام بذلك عن طريق النقر فوق الزر "إنشاء جديد" في قسم المشاهد. بعد الضغط على الزر سيتم نقلنا إلى نافذة إعدادات المشهد:
نحتاج هنا بالتأكيد إلى تعيين اسم فريد لمشهدنا في حقل "الاسم"، وتحديد الأبعاد (العرض والارتفاع بالبلاط (افتراضيًا) أو البكسل)، وكذلك تعيين اختياريًا (أي وفقًا لرغبتنا الخاصة) لون الخلفية للمشهد الجديد. انقر فوق "موافق" وادخل إلى محرر المستوى:
في المظهر يشبه محرر الرسومات. يوجد في المركز منطقة عمل نرسم فيها مستوانا. على اليسار والأعلى توجد أشرطة أدوات صغيرة. على اليمين توجد لوحات الألوان، حيث يتم تحديد مجموعات التجانب وإدارة الطبقات. والآن كيف يعمل كل ذلك...
بادئ ذي بدء، نرسم خلفية منطقة عملنا. للقيام بذلك، في اللوحة اليمنى، قم بتنشيط علامة التبويب "لوحة" وعليها علامة التبويب "البلاط" وحدد البلاط المطلوب من القائمة المعروضة. ثم، في اللوحة اليسرى، حدد أداة القلم الرصاص وارسم المناطق المطلوبة باستخدام المربع المحدد.
نظرًا لدعم الطبقات، يمكن أن تتداخل البلاطات مع بعضها البعض، لذا فمن المنطقي تنظيم المستوى مع الأخذ في الاعتبار حقيقة أنه، على سبيل المثال، في الطبقة "الطبقة 0" سيكون لدينا طبقة خلفية، وفوق ذلك سيكون هناك كن طبقة بها عوائق وشخصيات، وحتى طبقة أعلى تحتوي على عدادات ومؤشرات لعب مختلفة.
يمكنك إدارة الطبقات باستخدام الأزرار الموجودة أسفل لوحة "الطبقات". توجد أزرار لإنشاء الطبقات وحذفها ونقلها وإعادة تسميتها. بالإضافة إلى ذلك، يمكن إخفاء أو إظهار أي طبقة من خلال النقر على زر العين الموجود على يمين اسم الطبقة.
بعد أن قمنا بإنشاء المشهد الأول، فقد حان الوقت "لتعبئته" بشخصيات اللعبة المختلفة. في Stencyl يطلق عليهم "الممثلون" ويتم تخزينهم وفقًا لذلك في قسم "أنواع الممثلين". يتم إنشاء الممثلين وفقًا لنفس المبدأ، لذلك سننظر إلى هذه العملية باستخدام مثال إنشاء الشخصية الرئيسية في لعبتنا، فريدا.
لإضافة ممثل جديد، ما عليك سوى الانتقال إلى قسم "أنواع الممثلين" المذكور أعلاه والنقر فوق الزر "إنشاء جديد" هناك. كالعادة، سيتم سؤالنا مرة أخرى عما نريد أن نسميه كائن اللعبة الجديد، وبعد ذلك ستظهر أمامنا نافذة تحرير الرسوم المتحركة للشخصية:
هنا، على الجانب الأيسر، يتم عرض قائمة الرسوم المتحركة للممثل المضافة (افتراضيًا، إطار فارغ "الرسوم المتحركة 0")، وعلى الجانب الأيمن توجد أدوات لإضافة وتخصيص هذه الرسوم المتحركة نفسها.
حدد رسمًا متحركًا فارغًا (أو أضف رسمًا جديدًا بالنقر فوق زر علامة الجمع أدناه) وانقر فوق حقل "انقر هنا لإضافة إطار" على الجانب الأيمن. بعد ذلك، سيتم فتح نافذة لإضافة الصور، وهي مشابهة لنافذة مشابهة لإضافة مربعات جديدة إلى المجموعة. انقر فوق الزر "اختيار صورة"، وحدد الصورة المطلوبة واضبط تصميمها وأبعادها (إذا لزم الأمر).
عندما يتم تكوين كل شيء، انقر فوق الزر "إضافة" في الجزء الأيمن السفلي من نافذة الإضافة - يجب أن تظهر الرسوم المتحركة كمعاينة في القسم الأيسر:
الآن كل ما يتعين علينا القيام به هو إعداد معدل الإطارات (النقر المزدوج على أي إطار) وبعض المعلمات الإضافية، والنوع، واسم الرسوم المتحركة (مفيد جدًا للمشاريع المعقدة)، وتكرار التشغيل (نشط افتراضيًا)، والمزامنة ونقطة الأصل الأساسية لـ أصل الكائن (المركز افتراضيًا).
في شريط الأدوات السفلي في القسم الأيمن سنجد صفًا من الأزرار. أنها تسمح:
أعلاه، قمنا بعمل رسم متحرك لفريدا وهي تجري، باستخدام إطارين فقط، وهما في الواقع نفس الرسم المنعكس أفقيًا. الآن نحن بحاجة للتأكد من أننا نستطيع التحكم في حركة بطلتنا باستخدام الماوس ولوحة المفاتيح، وأيضًا حتى تتفاعل بشكل مناسب مع الاصطدامات بالعقبات التي رسمناها على المسرح.
أولا وقبل كل شيء، دعونا إعداد الاصطدامات. للقيام بذلك، انظر إلى السطر الموجود أسفل قائمة علامات التبويب المفتوحة وابحث عن الزر "تصادم" هناك.
افتراضيًا، تكون منطقة التصادم عبارة عن مربع محدد حول الكائن المتحرك بأكمله. أي أن حدث الاصطدام سيحدث على كامل مساحة الجسم. ومع ذلك، في الممارسة العملية، غالبا ما تحتوي صورتنا على عناصر إضافية (فريدا، على سبيل المثال، مكبر)، والتي، من الناحية النظرية، لا ينبغي أن تتفاعل مع أي شيء. وبمساعدة هذا القسم يمكننا تكوين جميع مناطق الاصطدام.
أولاً، دعونا نقوم بتقليل المساحة المحيطة بفريدا إلى حجم جسدها فقط. هنا علينا أن نأخذ في الاعتبار أننا لا نستطيع تحريك المنطقة بالماوس، وبالنسبة للإعدادات نستخدم أربعة معلمات رقمية في قسم "الشكل الحالي". أولاً، قمنا بتعيين الإزاحة الأفقية للمنطقة (من الحافة اليسرى) والإزاحة الرأسية (من الأعلى)، ثم نحدد العرض والارتفاع الجديد لمنطقة التصادم.
يوجد أدناه العديد من المعلمات الإضافية، المدمجة في قسم "الخصائص الفيزيائية". هنا نواجه مربع الاختيار "هل هو مستشعر؟" و مفهوم المجموعات .
إذا قمت بتنشيط علامة "المستشعر"، فستتوقف المنطقة المحددة عن كونها كائنًا ماديًا: ستصبح الشخصية أو جزء منها "شفافًا" للعديد من العوائق، ولكنها ستحتفظ في الوقت نفسه بالقدرة على إطلاق أي إجراءات في ظل ظروف معينة.
مثال من الحياة الواقعية يمكن أن تكون أنظمة الإنذار الحديثة التي تستخدم الليزر: نحن لا نرى الليزر نفسه، ولكن إذا لمسناه، تبدأ عملية الإخطار بأننا صعدنا إلى المكان الخطأ :).
الآن، ما الغرض من المجموعات؟ لنفترض أن شخصيتنا لا تحمل مكبرًا، بل سيفًا يستخدمه (أو بالأحرى هي :)) في تقطيع الأعداء إلى ملفوف (بالمناسبة، في الكود المصدري، تمتلك فريدا شفرة ليزر) ؛)).
المهمة هي أنه عندما نلمس عدوًا بالسيف، يموت العدو، ولكن إذا أخطأنا وضرب الخصم فريدا، فسيتم أخذ بعض طاقتها. والمشكلة الرئيسية هنا هي أن الرسوم المتحركة الضاربة لدينا هي في الواقع صورة يظهر فيها كلا من فريدا والسيف في نفس الوقت...
إذا أرفقنا عمل السيف بالصورة، فإن من يلمس بطلتنا أثناء تشغيل الرسوم المتحركة سيموت من الضربة. ومن أجل تقسيم الصورة إلى عدة كائنات بقدرات ومعايير مختلفة، تم اختراع آلية المجموعة.
افتراضيًا، لدينا منطقة واحدة فقط تتوافق مع الشخصية نفسها ("نفس نوع الممثل"). ومع ذلك، باستخدام أدوات الرسم الموجودة أعلى منطقة العمل الرئيسية، يمكننا إنشاء كائنات افتراضية جديدة وتعيين مجموعة لها باستخدام زر "تحرير المجموعات".
ربما يكون هذا كل شيء مع الاصطدامات، لكنني أقترح الآن التعامل مع الشيء الأكثر أساسية - ضبط سلوك الممثل على المسرح. للقيام بذلك، نحن بحاجة للذهاب إلى قسم "السلوكيات":
افتراضيًا، لا توجد إجراءات هنا في البداية، ولكن يمكننا إضافتها بالنقر فوق الزر "إضافة سلوك" في الزاوية اليسرى السفلية. سترى قائمة بالوظائف الجاهزة للاستخدام للتحكم في شخصيتك أو التفاعل مع الممثلين الآخرين على المسرح.
على سبيل المثال، اخترت سلوك "الحركة ذات 8 اتجاهات"، والذي يتضمن تحرك الممثل في دائرة في أي اتجاه. الآن نختار الإجراء المضاف في القائمة الموجودة على اليسار وعلى الجانب الأيمن يمكننا تكوين معلماته.
إذا اتبعت التعليمات، فمن المفترض أن يكون لديك بالفعل الحد الأدنى من الموارد المطلوبة للعبة. كل ما تبقى هو معرفة كيفية إضافة ممثلين إلى المسرح واختبار وظائف مساحة اللعب.
نعود إلى محرر المشهد الذي تم إنشاؤه مسبقًا ونقوم بتنشيط اللوحة مرة أخرى، ولكن الآن بدلاً من البلاط، سنقوم بتشغيل علامة التبويب "الممثلون". سنرى قائمة بالأحرف التي تم إنشاؤها مسبقًا والتي يمكننا إضافتها إلى المشهد باستخدام أداة القلم الرصاص:
لدينا شخصية رئيسية واحدة فقط، لذا فإن نقرة واحدة فقط بقلم الرصاص تكفي لإضافتها إلى المشهد. والآن جاءت لحظة الحقيقة - الاختبار الأول! لبدء التجميع الأولي للمشروع، ما عليك سوى النقر فوق الزر "اختبار المشهد" في الزاوية اليمنى العليا من علامة التبويب التي تحتوي على المشهد الخاص بنا. بعد مرور بعض الوقت (يستغرق التجميع الأول وقتًا أطول دائمًا)، سنكون قادرين على الإعجاب بعملنا في مشغل الفلاش:
بالإضافة إلى اللاعب نفسه مع اللعبة، نعرض على الجانب نافذة لسجلات تشغيل اللعبة. وبمساعدتهم، يمكننا العثور بسرعة على المشكلات التشغيلية ومحاولة إصلاحها.
كما نرى، يمكننا بالفعل تحريك فريدا في اتجاهات مختلفة، لكن المشهد نفسه يظل بلا حراك وبمجرد أن تتجاوز بطلتنا حافة الجزء المرئي من المسرح، فإنها تختفي... اضطراب :). يمكنك حل المشكلة عن طريق إضافة سلوك "متابعة الكاميرا" إلى Frida أو تعيين المعلمات الضرورية باستخدام الأحداث.
أيضًا، سيكون من الجيد استبدال المؤشر القياسي بشيء أكثر ملاءمة، على سبيل المثال، مشهد. يمكننا تنفيذ ذلك عن طريق إضافة ممثل جديد على شكل مشهد، وإزالة منطقة الاصطدام الخاصة به وإرفاقه بالمشهد باستخدام السلوك القياسي "Custom Mouse Cursor":
يمكن إنشاء ألعاب بسيطة في Stencyl باستخدام السلوكيات القياسية فقط (السلوكيات)، ومع ذلك، إذا كنا بحاجة إلى شيء غير قياسي، فسيتعين علينا التفكير في استخدام الأحداث التي تم تكوينها للممثلين والمشاهد في قسم "الأحداث":
في الواقع، يتم أيضًا بناء السلوكيات على أساس الأحداث، ولكنها تحتوي أيضًا على واجهة مرئية، مما يبسط عملية التحرير. نحن هنا نتعامل مباشرة مع الكتل الوظيفية التي تؤدي إجراءات معينة.
تنقسم نافذة الحدث إلى ثلاثة أقسام:
في الواقع، لقد وصفنا بالفعل خوارزمية إنشاء الأحداث، ولكن، للأسف، لا أستطيع تقديم أي توصيات عالمية - ستكون الأحداث مختلفة لكل لعبة ويمكن أن يكون هناك الكثير منها... كمثال، يمكنك البحث في الكود المصدري للعبة فريدا، والتي ستجدها في الأرشيف مع البرنامج، ولكن هذا مجرد دليل، لأن العمل على الأحداث هو إبداعك الشخصي :).
لقد قمنا بالفعل بتغطية الكثير من الأشياء، لكننا لم نتطرق إلى بعض المواضيع الإضافية التي يمكن أن تكون مهمة جدًا عند إنشاء الألعاب - أتحدث عن إعداد جميع أنواع خصائص الممثلين والمشاهد لدينا. نقوم بتخزين هذه المعلمات في علامتي التبويب الأخيرتين. وأولها "الفيزياء":
تبدو علامة تبويب إعدادات الفيزياء مختلفة بالنسبة للمشاهد والممثلين. في علامة التبويب إعدادات فيزياء المشهد، يوجد معلمتان فقط - ضبط الجاذبية الأفقية والرأسية. يتم عرض مظهر القسم الخاص بتعيين المعلمات المادية للممثلين في لقطة الشاشة أعلاه ويتكون من خمس علامات تبويب مع خيارات مختلفة:
لقد قمنا بفرز الفيزياء، والآن دعونا نلقي نظرة على الخصائص التي يتم استدعاؤها بالضغط على زر "الخصائص":
كما في الحالة السابقة، ستكون الخصائص مختلفة بالنسبة للمشاهد والممثلين. في خصائص المشهد يمكننا تحديد اسمه ("الاسم") والأبعاد (قسم "الحجم") ولون الخلفية ("لون الخلفية").
في خصائص الممثل، بالإضافة إلى الاسم، يمكنك تعيين وصف (حقل "الوصف") للكائن والمجموعة التي ينتمي إليها الممثل (قسم "اختيار مجموعة") وطبقة رسوم متحركة للجوال الأجهزة (ليس عليك تغيير أي شيء هنا، حيث أن الإصدار المجاني من البرنامج لا يسمح لك بتصدير الألعاب إلى تنسيقات الهواتف المحمولة.
ولكن هذه ليست كل الإعدادات المتوفرة لنا في Stencyl. تتوفر لنا الإعدادات العامة للعبة من خلال النقر على زر "الإعدادات" الموجود على شريط الأدوات الرئيسي:
في نافذة الإعدادات، توجد على اليسار قائمة بمجموعات المعلمات، وعلى اليمين توجد المنطقة الرئيسية (المقسمة أحيانًا إلى عدة علامات تبويب) التي تحتوي على جميع أنواع الخيارات. نحن هنا مهتمون بالأقسام التالية:
في الواقع، هذه هي جميع الإعدادات التي سنحتاجها لإنشاء ألعاب فلاش في الإصدار المجاني من Stencyl. ولكن بما أن هذا القسم يتعلق بالإعدادات، فسيكون من العار عدم ذكر معلمات البرنامج نفسه. يمكنك الوصول إليها عن طريق تفعيل عنصر "التفضيلات" في قائمة "ملف":
يوفر البرنامج دعمًا لواجهة متعددة اللغات، ولكن في الوقت الحالي لا يوجد سوى ترجمة باللغة الإنجليزية، لذلك انتقلنا مباشرة إلى علامة التبويب الثانية - "مساحة العمل". الحقيقة هي أن الإصدار الثالث من Stencyl قدم وظيفة لإنشاء صور تكيفية تلقائيًا من النقوش المتحركة التي تم تنزيلها.
وبشكل افتراضي، يتم مضاعفة العفريت، مما يستلزم تدهور جودة الرسومات. لمنع حدوث ذلك، أنصحك بتعطيل تغيير حجم الصورة عن طريق تحديد "قياسي (1x)" في حقل "القياس".
أنصحك أيضًا بإلقاء نظرة على علامة التبويب الثالثة - "المحررون". هنا يمكنك ربط إجراءات معالجة الرسومات والصوت والنصوص بمحررات خارجية أكثر تقدمًا (من Stencyl المضمنة).
لقد نظرنا إلى جميع الفروق الدقيقة في العمل في Stencyl تقريبًا، لكننا لم نتطرق إلى واحدة من أقوى الميزات - العمل مع المتغيرات.
تتيح لك المتغيرات في أي لغة برمجة التعامل مع أحداث مختلفة، والتعبير عنها من خلال أرقام معينة (المتغيرات الرقمية)، والشروط (المتغيرات المنطقية)، والنصوص (متغيرات السلسلة)، وما إلى ذلك. السمة الرئيسية للمتغيرات هي القدرة على استبدال أي قيمة ضمن إطار محدد سلفا. مثال بسيط للمتغير: مراقب الفصل الدراسي. اليوم يمكن أن يكون إيفانوف، وغداً بيتروف، وبعد غد سيدوروف :).
في حالتنا، يمكن لمتغير "الضابط المناوب" أن يأخذ واحدة من ثلاث قيم، والتي سيتم استبدالها تلقائيًا اعتمادًا على شرط معين (على سبيل المثال، ترتيب الأسماء في القائمة).
في Stencyl، يمكن أن تكون المتغيرات محلية أو عالمية. يمكننا الإعلان عن المتغيرات المحلية كجزء من حدث أو سلوك ما، وستعمل فقط مع الإجراءات المحددة. يمكنك إنشاء متغير محلي في محرر الأحداث عن طريق استدعاء قسم "السمات":
لدينا هنا عدة علامات تبويب:
خوارزمية إنشاء متغير محلي بسيطة: أولاً، نقوم بإنشاء كتلة جديدة في علامة التبويب "Getters"، ثم نجد المتغير الذي تم إنشاؤه حديثًا في علامة التبويب "Setters" ونضيف كتلة معه إلى مساحة العمل، ونعادلها بـ بعض معلمات اللعبة. هذا كل شيء - تم الإعلان عن المتغير وتلقى مجموعة من القيم الصالحة.
يتم تعيين المتغيرات العامة (سمات اللعبة) في Stencyl للعبة بأكملها ويمكن استدعاؤها في أي حدث أو سلوك. كما ذكرنا أعلاه، يمكنك إنشاؤها في قسم "السمات" في علامة التبويب "سمات اللعبة":
ومع ذلك، فمن الملائم أكثر عرض وإدارة جميع المتغيرات التي تم إنشاؤها باستخدام قسم "السمات" في الإعدادات (زر "الإعدادات" على شريط الأدوات أو "إظهار سمات اللعبة" في علامة التبويب "سمات اللعبة" في محرر الأحداث) :
لدينا هنا القائمة الكاملة للمتغيرات العامة والقدرة على إنشاء متغيرات جديدة بالنقر فوق الزر "إنشاء جديد". بالنسبة للمتغير الجديد، يمكننا على الفور تعيين النوع (رقمي أو نصي أو منطقي أو مصفوفة) وقيمة البداية دون مغادرة النافذة، وهو أمر مناسب جدًا في رأيي.
باستخدام المتغيرات العالمية، من المريح جدًا تنفيذ عدادات مختلفة، حيث يتم حفظ البيانات الموجودة فيها عندما ينتقل اللاعب إلى مستويات جديدة ويتم تخزينها في الذاكرة طالما أن اللعبة نفسها قيد التشغيل. أوصي أيضًا باستخدام المتغيرات العامة لتتبع الرسوم المتحركة التي يتم تشغيلها.
بعد إعطاء الممثل كائنًا محددًا في الأحداث، يمكننا تعيين قيمة محددة لهذا الكائن في متغير أدناه (على سبيل المثال، رقم تسلسلي أو اسم للرسوم المتحركة). وبالتالي، من خلال ربط إجراء ما بمتغير، يمكننا استدعاؤه في أي وقت عن طريق تحديد القيمة المطلوبة لهذا المتغير.
أخيرًا، تعرفنا، ولو لفترة وجيزة، على المبادئ الأساسية للعمل مع Stencyl. لنفترض أننا أنشأنا لعبة واختبرناها وتبين أن كل شيء يعمل. الآن كل ما تبقى عليك فعله هو تحويل اللعبة من مشروع إلى ملف SWF حقيقي يمكن نشره على الإنترنت. للقيام بذلك، نحتاج فقط إلى فتح قائمة "نشر" والنقر على "فلاش" في قائمة "الويب".
سيبدأ تجميع ملف اللعبة، وبعد ذلك سيُطلب منك أين وتحت أي اسم لحفظ ملف الفلاش الناتج. احفظ وهذا كل شيء - اللعبة جاهزة :).
ستكون العملية العكسية هي استيراد اللعبة. بفضل وظيفة الاستيراد، يمكنك فتح مشاريع الألعاب للمستخدمين الآخرين، على سبيل المثال، لمعرفة كيفية تنفيذ هذه الوظيفة أو تلك؛). يمكنك أيضًا استيراد اللعبة من قائمة "ملف". إذا تم الاستيراد بنجاح، ستظهر اللعبة على الشاشة الرئيسية في قائمة المشاريع. ومع ذلك، هناك تحذير صغير يستحق القيام به هنا.
المشكلة هي أن Stencyl 3.0 الجديد لديه توافق جزئي فقط مع المشاريع التي تم إنشاؤها في الإصدارات السابقة، وبالتالي فإن وظيفة مشروع اللعبة الذي قمت باستيراده قد تكون غير مكتملة أو، في أسوأ الحالات، لن تبدأ اللعبة على الإطلاق، مما يؤدي إلى حدوث خطأ. سيكون لديك خيارات قليلة - إما البحث عن الأخطاء وتصحيحها، أو قبولها وترك كل شيء كما هو :).
من بين جميع برامج إنشاء ألعاب الفلاش الموجودة اليوم، يعد Stencyl الحل الوسط الأكثر منطقية بين سهولة التشغيل واتساع نطاق الإمكانات. والخبر السار هو أن وظيفة المصمم في الإصدار المجاني غير محدودة عمليًا، مما يسمح لك بإدراك أي فكرة بشكل كامل تقريبًا.
ومع ذلك، لا تنسى "تقريبا"... والحقيقة هي أن Stencyl نفسه يعمل على جهاز JAVA، والذي، كما تعلمون، يتطلب موارد كبيرة. إذا أضفنا إلى هذا التحميل الحمل الذي تنشئه اللعبة، فسيتبين أننا نحتاج إلى جهاز كمبيوتر حديث وقوي للتشغيل العادي.
هذا هو الأول "تقريبا". والثاني هو القيد الضمني لعدد الأشياء الموجودة على المسرح، وهو ما ذكرته بشكل عابر. حتى لو كانت هذه الكائنات مجرد مربعات، ولكن هناك الكثير منها، فقد ترمي اللعبة خطأً أثناء الاختبار ولا تبدأ حتى تقوم بتقليل عددها.
لتلخيص ذلك، يمكننا القول أن Stencyl سيكون محركًا مثاليًا لإنشاء جميع أنواع ألعاب الفلاش غير الرسمية وألعاب إطلاق النار الجانبية. علاوة على ذلك، بعد التدرب على إنشاء ألعاب الفلاش، يمكنك شراء أحد أنواع التراخيص، ومن خلال تغيير بسيط في الآليات، يمكنك نقل لعبتك إلى التنسيقات التي يدعمها Android وiOS. وهذه طريقة حقيقية لكسب المال عن طريق نشر لعبة على Play Market أو App Store!
أخيرًا، يبقى فقط أن نتمنى حظًا سعيدًا لجميع أولئك الذين يقررون الانخراط بجدية في تطوير اللعبة. دع خوارزمياتك تعمل في المرة الأولى، ودع المترجم يجلس ويصمت عند تشغيل ألعابك :).
ملاحظة. يُمنح الإذن بنسخ هذه المقالة واقتباسها بحرية، بشرط الإشارة إلى رابط نشط مفتوح للمصدر والحفاظ على تأليف رسلان تيرتيشني.
إذا كنت تعمل مع فلاشوأنت تستخدمه حاليًا فقط للرسم والرسوم المتحركة البسيطة وإنشاء مقاطع فيديو أو لافتات، لكن لم تقم بالبرمجة فيه مطلقًا، فربما كنت تريد حقًا معرفة هذا الجانب فلاش.
ماذا حدث أكشن سكريبت؟ كيف يمكنك كتابة الكود في فلاش؟ كيف يمكنك البرمجة بشكل كامل في فلاش؟ ما هي أفضل الأدوات التي يمكن استخدامها لهذا؟ توفر هذه المقالة إجابات على مثل هذه الأسئلة.
ستكون هذه المقالة بمثابة دليل جيد للمبتدئين في البرمجة فلاشعلى أكشن سكريبت 3.0وسوف تساعدك على اختيار أفضل الأدوات لهذا الغرض.
سيناريو العملهي لغة برمجة موجهة للكائنات تضيف التفاعل ومعالجة البيانات والمزيد إلى محتوى تطبيقات Flash.
يمكنك استخدام Action Script لإنشاء تطبيقات الوسائط المتعددة التفاعلية والألعاب ومواقع الويب.
إذا كنت تعمل مع بيئة تطوير رسومية فلاش IDE(على سبيل المثال، Adobe Flash Professional CS5)، لكنك لم تكن مهتمًا أبدًا بالمكان الذي يمكنك فيه كتابة كود البرنامج، فمن المحتمل أنك قلق بالفعل بشأن السؤال "أين يختبئ، AS3 هذا؟"
لنقم بإنشاء ملف مشروع جديد - جديد - ActionScript 3.0 (الشكل 1).
الشكل 1. إنشاء مشروع AS3 جديد.
سيظهر مشهد فارغ بإطار فارغ على طبقة واحدة. الآن يمكنك تحديد الإطار والنقر عليه F9وبذلك يتم فتح نافذة "الإجراءات" التي تحتوي على مساحة لتحرير كود البرنامج الخاص بهذا الإطار.
لنكتب الكود التالي في النافذة التي تفتح:
أكشن سكريبت
var s: String = "إنه تتبع كود AS3 الخاص بي!"; أثر (آثار)؛
var s : String = "إنه تتبع كود AS3 الخاص بي!" ; أثر (آثار)؛ |
أرز. 2. الكود مكتوب في محرر Flash IDE.
الآن يمكنك تشغيل محرك الأقراص المحمول ( السيطرة + أدخل). يقوم هذا الرمز بإنشاء متغير سيكتب خيط(سلسلة) ويعين لها قيمة أولية - السلسلة " إنه تتبع رمز AS3 الخاص بي!". التالي، الوظيفة يتعقب()، الوسيطة التي تكون متغيرًا تم إنشاؤه حديثًا، هذه السلسلة (أو بالأحرى قيمة المتغير س) يتم عرضها في علامة التبويب انتاج، والذي يقع افتراضيًا في واجهة IDE بجوار علامة التبويب الجدول الزمني.
بهذه الطريقة يمكنك فتح وإغلاق محررات الأكواد (باستخدام F9) لأي إطار من تطبيق Flash.
يبدو أن الصورة ليست سيئة - يمكنك إنشاء كائنات مختلفة باستخدام الرسوم المتحركة ( MovieClip) أو الصور الثابتة ( شبح) وسيكون لكل كائن إطارات وفي كل إطار يمكنك برمجة أي شيء تريده. تبدو مريحة ومرنة. ولكن هذا فقط للوهلة الأولى. تخيل أن لديك العشرات من الكائنات التي تحتوي على عشرات الإطارات ويجب وصفها جميعًا في التعليمات البرمجية بمنطق سلوك مختلف أو مشابه. في الحالة الثانية (المنطق المشابه) - يعني هذا عمومًا مئات الأسطر المتشابهة من التعليمات البرمجية التي قد يكون نسخها من إطار إلى إطار أمرًا شاقًا. تخيل أنك تحتاج إلى تغيير شيء ما أثناء عملية التطوير. لا - ليس هذا هو الحال! هذه ليست الفوضى التي تم تصميم AS3 من أجلها!
بالإضافة إلى ذلك، إذا كنت تعمل كمحرر أكواد Flash IDE، على سبيل المثال، عملت في بعض بيئات البرمجة الأخرى (دلفي، Visual Studio)، فستلاحظ على الفور أن هذا المحرر، بعبارة ملطفة، محبط لأنه غير مريح وغير مكتملة.
ماذا تفعل، تسأل؟ ابحث عن برامج تحرير التعليمات البرمجية التابعة لجهات خارجية.
الخيار الأفضل لنظام التشغيل Windows هو فلاش ديفيلوب(فد). يمكنك تنزيل أحدث إصدار من الموقع.
بالنسبة لنظام iOS، هناك بديل جيد إف دي تي. يمكنك العثور عليه في المكتب. موقع إلكتروني.
لأن أعيش حاليًا في الغالب على نظام التشغيل Windows، لذا سأخبرك عن المحرر المخصص لنظام التشغيل هذا. في المستقبل، عندما أكتسب خبرة في FDT، سأكتب عنها.
لا يوجد شيء معقد في التثبيت، قم بتنزيل أحدث إصدار من المكتب. الموقع وتثبيت. المحرر مجاني تمامًا ويستخدم Flex SDK للتجميع. أثناء التثبيت القياسي، سوف تتولى FD تثبيت الأخير. كل ما تحتاجه لتثبيت FD بنفسك هو هذا جافا.
يتمتع FD بالكثير من وسائل الراحة والميزات، بما في ذلك: مفاتيح التشغيل السريع، والاستبدال التلقائي الجيد، وقوالب الفصل الدراسي، والقدرة على إنشاء القوالب الخاصة بك وتحرير القوالب الموجودة.
بعد التثبيت، يمكنك إنشاء مشروع جديد (مشروع - مشروع جديد...)، وسيفتح مربع حوار إنشاء المشروع، كما هو موضح في الشكل. 4.
كما ترون، FD يسمح لك بإنشاء مشاريع AS3 ليس فقط. ولكننا الآن مهتمون بمشروع AS3، أفضل اختيار فراغ للمشروع به أداة التحميل المسبق-أوم، الذي تم اختياره ل أرز. 4. ثم أدخل اسم المشروع (الحقل اسم) وقم بتعيين دليل المشروع (الحقل موقع)، إذا تم تحديده "إنشاء دليل للمشروع"، ثم سيتم إنشاء مجلد باسم المشروع (الاسم) في دليل الموقع وسيتم احتواء ملفات المشروع فيه بالفعل؛ إذا لم يتم تحديد مربع الاختيار، فسيتم وضع الملفات في دليل الموقع المحدد.
بعد إنشاء المشروع على اليمين سترى بنية الملفات والمجلدات الخاصة بالمشروع، افتح المجلد srcوانقر مرتين على الملف main.as. وبعد ذلك يجب أن ترى الكود تقريبًا كما في الشكل. 5.
دعونا نحاول كتابة بعض التعليمات البرمجية، على سبيل المثال تقريبًا نفس الكود الذي جربناه فلاش IDE. يمكنك الكتابة بعد السطر الذي تم التعليق عليه "//نقطة الدخول"لأن هذه هي النقطة التي تم فيها إنشاء المشهد بدقة. دعونا نكتب الأمر يتعقب()، في التين. 5. لقد سمحت لنفسي بالفعل بهذا الفعل:]
الآن يمكنك تجميع المشروع ( F8) أو التشغيل فورًا للاختبار ( F5)، بعد الركض في النافذة انتاج |سترى نتيجة الوظيفة يتعقب()- إخراج الخط.
نتائج الفريق يتعقب()لا يمكن ملاحظتها إلا عند تشغيل التطبيق من IDE الذي يتم فيه تجميع التعليمات البرمجية وتشغيلها.
عند تشغيل ملف .swf في متصفح أو في مشغل فلاش عادي، لن تكون النتيجة (أي عرض نافذة الإخراج) مرئية لأي شخص.
الآن أنا متأكد من أنك لا تستطيع الانتظار لإنشاء مشروعك الأول على AS3! وللقيام بذلك عليك أن تبدأ في تعلم اللغة نفسها.
بالطبع، يمكنك كتابة الكثير عن AS3، لكن من غير المرجح أن أكتب بشكل أفضل من الكتب، خاصة وأن كل شيء قد تم كتابته بالفعل، لذا فإن وظيفتي هي التوصية بأفضل الأدبيات بناءً على تجربتي.
أفضل كتاب: كولين موك — .
إضافة جيدة إلى المعرفة: جوي لوت — .
قرأت أيضًا هذا الكتاب في ذلك الوقت: متجر غني— . على الرغم من أنه لم يتم كتابته كثيرًا وبالتفصيل، إلا أنه سيكون مناسبًا للمبتدئين إذا لم يكن Muk في متناول اليد.
هذه الكتب كافية لبداية قوية! اقرأ وتدرب ثم مارس واقرأ. ليست هناك حاجة للجلوس وقراءة هذه الكتب من الغلاف إلى الغلاف، لأن... في عملية القراءة، من المهم دمج المعرفة مع الممارسة، وسوف يسعدك أن تفعل شيئًا في أقرب وقت ممكن:]
عند البحث بسرعة عن الوثائق على الإنترنت، يكون المكتب مفيدًا للغاية. التوثيق من .
لمزيد من التطوير، من أجل فهم جيد لـ OOP وأنماط التصميم (وهذا مهم جدًا لبنية OOP جيدة)، سيكون الكتاب التالي لا غنى عنه بالنسبة لك: ويليام ساندرز، تشانديما كوماراناتونج — .
ستجد في هذا الموقع أيضًا عددًا لا بأس به من جوانب برمجة AS3، والتي تراكمت من خلال تجربتي.
أو حاول إنشاء أداة التحميل المسبق الأولى من خلال قراءة المقالة: أداة التحميل المسبق افعلها بنفسك.
كل التوفيق والمشاريع الناجحة!
برمجة فلاش
برنامج المقررات الاختيارية والدليل التعليمي للمعلم والطالب
برنامج الدورة. 1
1. المقدمة: 1
2. موضوعات الدورة: 2
3. الأدب: 2
دليل تعليمي للمعلمين والطلاب. 2
1. مقدمة، نافذة "إجراءات الإطار". 2
2. المتغيرات. 4
3. حقول الإدخال/الإخراج. 5
4. المشغل الشرطي. 8
5. حلقات "مع معلمة" وحلقات "بينما". أحد عشر
7. البرمجة الشيئية. 17
8. التغيير البرمجي للخصائص. 19
9. دورات ثلاثية الإطارات. الرسوم المتحركة البرمجيات. 22
10. مشروع "لعبة تفاعلية - ميدان الرماية". 24
يذهل برنامج Macromedia Flash بقدراته. بالإضافة إلى أدوات الرسم والرسوم المتحركة المتقدمة، يحتوي Flash على لغة برمجة Action Script مدمجة. إن إتقان هذه اللغة لا يسمح لك فقط بإنشاء رسوم متحركة للبرامج وألعاب فلاش وصفحات ويب تفاعلية، بل يمنحك أيضًا معرفة حول تقنيات البرمجة الموجهة للكائنات (المشار إليها فيما يلي باسم OOP).
على الرغم من حقيقة أن منشئي Flash حاولوا جعل البرمجة بسيطة حتى بالنسبة للمستخدم غير المدرب، فإن إتقان هذه الأدوات يتطلب الكثير من الوقت. هذه الدورة اختيارية، ويختارها الطلاب لاتخاذ قرار أكثر استنارة بشأن التخصص في المدرسة الثانوية. يمكن أن تكون الدراسة التفصيلية للبرنامج وتنفيذ المشاريع الجادة مهمة الدورات المتخصصة (على سبيل المثال، "برمجة الويب"، "تصميم الويب"، "البرمجة الشيئية"، وما إلى ذلك)، بالإضافة إلى الدراسة المستقلة. دورة برمجة الفلاش مخصصة لطلاب الصف التاسع الذين هم بالفعل على دراية برسومات الفلاش المتحركة وأساسيات البرمجة. كجزء من الدورة الاختيارية، من الممكن تمامًا إتقان أساسيات البرمجة وتكنولوجيا OOP وتنفيذ مشاريع بسيطة في Flash. تتضمن الدورة 8 مشاريع، منها مشروع آلة حاسبة فلاشية ومشروع لعبة تفاعلية. الدورة مجهزة بدليل تعليمي للمعلمين والطلاب.
الغرض من الدورة:
لإثارة اهتمام الطلاب، لإظهار قدرات البرامج الحديثة لإنشاء تطبيقات تفاعلية؛ تقديم أساسيات البرمجة كائنية التوجه؛ تعميق معرفتك بـ Macromedia Flash.
هدف الدرس:
إدخال تكنولوجيا البرمجة الموجهة للكائنات؛ إظهار استخدام Action Script لإنشاء تطبيقات تفاعلية؛ قم بإنشاء مشروعين: آلة حاسبة فلاش ولعبة معرض إطلاق نار تفاعلية.
متطلبات المعرفة لدى الطالب:
لإكمال هذه الدورة بنجاح، يجب أن يكون لدى الطلاب المعرفة الأساسية بالفلاش: إنشاء صور بسيطة، والعمل مع رموز المكتبة، وفهم الإطارات الرئيسية، والرسوم المتحركة بالفلاش، والإجراءات الأساسية في برنامج Action Script.
لإكمال هذه الدورة بنجاح، يجب أن يكون لدى الطلاب المعرفة الأساسية بالبرمجة: مفاهيم رئيسية مثل الخوارزمية والبرنامج والمتغير ومعرفة الهياكل الخوارزمية الأساسية.
متطلبات الكمبيوتر:
جهاز كمبيوتر مثبت عليه Macromedia Flash MX (أو أعلى).
دورة "برمجة الفلاش" مصممة لمدة 12 ساعة.
المواضيع | عدد الساعات |
|
كرر فلاش. | ||
حقول الإدخال/الإخراج، والهياكل الخوارزمية أنواع الحقول (ثابت، ديناميكي، الإخراج)؛ إعلان المتغيرات، ومتغيرات الأحرف والأرقام، وإضافة التعليمات البرمجية إلى الزر، والبيان الشرطي، والتكرار مع المعلمة، أثناء التكرار، وتنفيذها في Flash. المهام النموذجية: حساب تكلفة الرحلة، حل معادلة من الدرجة الثانية، الأس، إيجاد عنصر من مجموع سلسلة من سلسلة المشروع: آلة حاسبة فلاشية | ||
المفاهيم الأساسية لـ OOP الكائن، الخصائص، الطريقة، الحدث | ||
التغيير البرمجي للخصائص. الرسوم المتحركة البرمجيات. خصائص قابلة للتغيير إنشاء الرموز، أسمائهم؛ تغيير خصائص الشخصية، وميزات تنفيذ كود البرنامج في فلاش، ودورات ثلاثية الإطارات. المهام النموذجية: إنشاء كائن بخصائص قابلة للتغيير (الضغط على المفاتيح المناسبة). خلق كائن متحرك. المشروع: لعبة تفاعلية للرماية. |
لدى Macromedia Flash لغة برمجة خاصة بها، وهي Action Script. يسمح لك بجعل مقاطع فيديو Flash تفاعلية. إمكانيات اللغة كبيرة جدًا مما يسمح لك بإنشاء برامج جادة. Action Script ليست لغة برمجة مستقلة. إنها مجموعة من البرامج النصية - أجزاء من التعليمات البرمجية التي "تعيش" فقط داخل فيلم Flash، والتي، مع ذلك، لا تتداخل مع إنشاء برامج كاملة.
عليك أن تتذكر أن Action Script هي لغة تعتمد على الأحداث، أي أنه سيتم تنفيذ البرنامج النصي عند وقوع حدث ما. يمكن أن يحدث مثل هذا الحدث عند الوصول إلى إطار رئيسي معين، على سبيل المثال، في الإطار الرئيسي الأخير نضيف أمر stop(). على الرغم من أن هذا مجرد أمر واحد، فهو برنامج نصي كامل سيتم تنفيذه عند الوصول إلى الإطار الأخير - سيتوقف الفيديو. يمكن أن يكون هناك حدث آخر يتمثل في النقر بالماوس على زر يظهر على الشاشة أو الضغط على مفتاح لوحة المفاتيح.
لإضافة رمز البرنامج، تحتاج إلى تحديد الإطار الرئيسي الذي تريد إضافة البرنامج النصي إليه (أو تحديد الزر الذي تم إنشاؤه) والضغط على المفتاح F9 (الشكل 1).
أرز. 1 لوحة العمل.
دعونا نلقي نظرة على العناصر الرئيسية لنافذة الإجراء. الجانب الأيسر من النافذة مشغول بقائمة الأوامر التي يمكنك تحديدها بالنقر المزدوج عليها باستخدام زر الفأرة الأيسر. يتم تجميع جميع الأوامر، وهناك الكثير منها، في اثنتي عشرة كتلة "وظيفة عامة"، "خصائص عامة"، وما إلى ذلك. بعد النقر، يتم نقل الأمر إلى الجانب الأيمن من النافذة. أنه يحتوي على رمز البرنامج. يمكنك حذف الأوامر غير الضرورية (مفتاح الحذف) أو التحرك لأعلى ولأسفل في البرنامج النصي إما باستخدام مفاتيح المؤشر أو باستخدام الأزرار. بالطبع، يجب أولاً تحديد الأمر المراد نقله أو حذفه. يتم تخصيص الجزء السفلي من النافذة للمعلمات القابلة للتغيير لكل أمر محدد. على سبيل المثال، في أمر الانتقال gotoAndPlay()، تحتاج إلى الإشارة إلى الإطار الذي تريد الانتقال إليه عند الوصول إلى هذا السطر. للقيام بذلك، تحتاج إلى إدخال رقم الإطار المطلوب بين قوسين.
عند كتابة رمز البرنامج، يكون كتابة الرمز يدويًا أكثر ملاءمة وأسرع. من المهم أن تتذكر أن لغة ActionScript حساسة لحالة الأحرف في الأوامر التي تكتبها. وهذا يعني أن الأمر GoToandPlay() سيكون غير صحيح.
يبقى أن نضيف أنه لتشغيل الكود وعرض النتيجة، تحتاج إلى الدخول إلى وضع عرض الفيديو، للقيام بذلك، اضغط على مجموعة المفاتيح Ctrl-Enter.
راجع الأسئلة:
ما هو البرنامج النصي؟ ما الأحداث التي تؤدي إلى تنفيذ التعليمات البرمجية في Flash؟ كيف يمكنني إظهار لوحة الإجراءات؟ ما العناصر التي تتكون منها لوحة الإجراء؟ كيفية إنشاء ملف قابل للتشغيل من فيلم فلاش؟
أحد المفاهيم الأساسية لأي لغة برمجة هو المتغير. من المفترض أن القارئ على دراية بمفهوم المتغير، لذلك دعونا نلقي نظرة على كيفية تنفيذه في Flash.
لنفترض أننا نريد إضافة رقمين. لإجراء هذه العملية الحسابية البسيطة، قم بإنشاء زر في الإطار الرئيسي الأول: ارسم مستطيلاً، وقم بعمل تعليق، ثم قم بتحويل الصورة الناتجة إلى رمز (قائمة إدراج - تحويل إلى رمز، ولا تنس ضبط سلوك رمز - زر). ونتيجة لذلك، ظهر كائن يمكنه الاستجابة للنقرة بالماوس؛ ويمكن التحقق من ذلك بسهولة عن طريق الدخول إلى وضع عرض الفيديو.
سيتم تخزين الرقم الأول في المتغير x1، والثاني في المتغير x2. دع النتيجة يتم حفظها تحت اسم الخلاصة وعرضها على الشاشة. من أجل إنشاء حقل إخراج (المزيد حول هذا في الدرس التالي)، انقر فوق أداة النص واستخدمها لتحديد منطقة من الشاشة - حقل النص المستقبلي. ثم انتقل إلى لوحة الرمز العائمة (نافذة القائمة - اللوحات - الرمز) وفي علامة التبويب "خيارات النص" قم بتغيير نوع حقل النص Stutic Text إلى Dimamic Text (الشكل 2). تأكد من تسمية هذا الحقل بالمتغير – الخلاصة. وأيضًا، لجعل الحقل مرئيًا على الشاشة، حدد خانة اختيار الإطار/الخلفية.
أرز. 2 قم بإنشاء حقل ديناميكي لعرض القيم.
الآن دعونا نقارن الكود بالزر الذي صنعناه. حدد الزر واضغط على F9.
في الجزء الأيسر من النافذة، حدد كتلة العمليات - تعيين المتغير. في الجزء السفلي من النافذة، قمنا بتعيين المعلمات: المتغير - x1، القيمة 5. يرجى ملاحظة أنه بجوار حقل القيمة يوجد تعبير معلمة تبديل. ويجب تحديده، وإلا فإن المتغير x1 سيخزن الرقم 5 والرمز. هذه هي الطريقة التي يتم بها تحديد نوع المتغير. كما تفهم، يوجد في AS نوعان فقط من المتغيرات، الرقمية والسلسلة، قم بوصف الأنواع مقدمًا، كما هو معتاد في لغة Turbo Pascal. قم بإجراءات مماثلة للمتغير الثاني، على التوالي، اسمه x2، والقيمة هي 8. علينا فقط إضافة السطر الثالث - تعيين المتغير الثالث، اسمه: summa (نفس اسم حقل الإخراج) ، القيمة: x1 + x2، بالطبع، تعبير العنصر المحدد.
نتيجة لهذه العمليات، على الجانب الأيمن لديك الرمز الموضح في الشكل (الشكل 3). يرجى ملاحظة أن كل أمر مفصول بفاصلة منقوطة؛ ويقوم Flash بذلك تلقائيًا. أولاً، يوجد أمر التشغيل (الإصدار)، وهو يشير إلى أن هذا الرمز سيبدأ في التنفيذ عند تحرير مفتاح الماوس من الزر. وبما أن هذا الرمز مرتبط بزر شاشة، تتم إضافة هذا الأمر تلقائيًا. بعد ذلك، يأتي بين الأقواس المتعرجة الكود الذي يجب تنفيذه عند وقوع الحدث.
هذا كل شئ! إذا فعلت كل شيء بشكل صحيح، فمن خلال الانتقال إلى وضع عرض الفيديو والنقر فوق الزر الخاص بك، يظهر الرقم 13 في حقل الإخراج.
راجع الأسئلة:
كيفية تعيين اسم متغير لعرض المعلومات النصية أو الرقمية؟ ما هي أنواع المتغيرات المستخدمة في الفلاش؟ كيف نظهر أن المتغير الذي تم إنشاؤه رقمي؟ كيفية إنشاء زر في فلاش وإضافة رمز له؟ ماذا يعني أمر التشغيل (الإصدار) في بداية البرنامج النصي؟
يبدأ تعلم لغة برمجة جديدة بكتابة برامج يتم إدخال القيم الأولية فيها، ثم تحدث معها بعض التحويلات الحسابية وتظهر النتيجة على الشاشة. يستخدم Flash حقول النص لعرض النص على الشاشة. لإنشاء حقل نص، تحتاج إلى تحديد أداة النص (على شريط الأدوات) ومن خلال وضع الدورات التدريبية في المكان الذي تريد إضافة النص إليه، فإنك "ترسم" كتلة نصية (الشكل 4).
أرز. 4 قم بإنشاء حقل نصي.
ونتيجة لذلك، لديك حقل نص ثابت يمكنك كتابة أي نص فيه. هناك ثلاثة أنواع من الحقول النصية: الحقول الثابتة والديناميكية وحقول الإخراج. يتم تعيين نوع الحقل باستخدام علامة التبويب "المعلمات"، لوحة الرموز (انظر الفصل السابق). دعونا نلقي نظرة على الغرض والإعدادات لكل حقل بمزيد من التفاصيل:
يتم استخدام حقل ثابت لعرض التسميات على مشهد فلاش. كما يوحي الاسم، لا يمكن تغيير هذا الحقل برمجياً. كل ما هو متاح لك هو ضبط الخط والحجم واللون وما إلى ذلك. عند الكتابة، سيتم توسيع هذا الحقل تلقائيا، وعرض النص الذي تم إدخاله في عدة أسطر. في هذه الحالة، سيظل عرض حقل النص هو العرض الذي قمت بتعيينه عند "رسم" كتلة النص. لتغييره، تحتاج إلى تحديد الكتلة باستخدام أداة النص وتحريك العلامة اليمنى العلوية لكتلة النص.
الشكل 5
يتم استخدام حقل ديناميكي لإنشاء حقول إخراج يمكن من خلالها تحديث المعلومات مع تقدم الفيديو الخاص بك. من أجل الوصول إلى كتلة نصية برمجياً، يجب أن يكون لها اسم محدد في الحقل "المتغير" (الشكل 5). أنصحك باستخدام الأحرف اللاتينية فقط كأسماء متغيرة، بدون مسافات. في نفس النافذة، يمكنك تمكين خاصية الحدود/الخلفية. الآن سيظهر إطار على الورقة، حيث سيظهر النص المعروض، وهو مناسب للغاية. يسمح لك مربع التحرير والسرد، مع تحديد سطر مفرد افتراضيًا، بتحديد ما إذا كان سيتم عرض النص في سطر واحد أو في عدة أسطر (قيمة متعددة الأسطر). يحدد المفتاح "القابل للتحديد"، الذي يتم تمكينه افتراضيًا، ما إذا كان بإمكان المستخدم تحديد قيم من حقل معين، على سبيل المثال، لنسخها إلى الحافظة. تمامًا كما هو الحال مع أي حقل، يمكنك تعيين معلمات النص: الخط والحجم واللون وما إلى ذلك. إذا قمت بكتابة أي نص في هذا الحقل، فسيتم عرضه حتى يغير البرنامج قيمته.
يتم استخدام حقل الإدخال أو نص الإدخال لإدخال القيم من لوحة المفاتيح. تبدو نافذة معلمات حقل الإدخال مشابهة للنافذة التي تمت مناقشتها أعلاه. المعلمة الرئيسية هنا هي أيضًا الحقل "المتغير". تحدد تحت أي اسم سيتم تسجيل البيانات التي أدخلها المستخدم.
الشكل 6
من خلال فهم الغرض من الحقول النصية، يمكنك إنشاء المشروع التالي. "يتم إدخال تكلفة تذكرة طيران للبالغين، بالإضافة إلى عدد البالغين والأطفال المسافرين على متن الرحلة، في الكمبيوتر. عند النقر على الزر المناسب، يقوم الكمبيوتر بحساب تكلفة تذكرة الطفل (50% من تكلفة الشخص البالغ) والتكلفة الإجمالية للرحلة. انظر مظهر البرنامج (الشكل 6). كما ترون بسهولة في هذه المهمة، يتم إدخال القيم وإخراج النتائج؛ يجب تنفيذ جميع التعليمات البرمجية عند الضغط على زر، وبالتالي يجب أن تكون مرتبطة بهذا الزر.
للبدء، قم بإنشاء خمسة حقول نصية ثابتة واملأها بالنص المناسب.
قم بإنشاء ثلاثة حقول إدخال، وقم بإعطاء المتغيرات لكل حقل أسماء فريدة، على سبيل المثال: stv (سعر تذكرة البالغين)، وkolv (عدد البالغين)، وkold (عدد الأطفال).
قم بإنشاء حقلين ديناميكيين، وقم بإعطاء المتغيرات لكل حقل أسماء فريدة، على سبيل المثال: std (سعر تذكرة الأطفال) وitog (إجمالي مبلغ الرحلة).
عمل زرين "حساب تكلفة الرحلة" و"مسح الحقول"
بالنسبة للزر الأول أضف الكود التالي (الزر، المفتاح الأيمن - العمليات):
إذا (stv==null) (
إذا (كولف==خالية) (
إذا (كولد==خالية) (
itog = stv * kolv + std * kold;
يحسب السطر قبل الأخير تكلفة تذكرة الطفل (نصف تكلفة الشخص البالغ) ويكتب هذه القيمة في المتغير std (اسم حقل الإخراج المقابل). يحسب السطر الأخير المبلغ الإجمالي (itog المتغير) ويدخل قيمته في حقل الإخراج المقابل.
من حيث المبدأ، كان من الممكن القيام بهذين السطرين من التعليمات البرمجية. ولكن بما أن الشخص الذي سيعمل مع هذا البرنامج لن يدخل بالضرورة الرقم صفر إذا لم يكن هناك أطفال مشاركين في الرحلة. وهذا يعني أن تكلفة تذكرة الطفل (القيمة الرقمية) سيتم ضربها بقيمة فارغة (قيمة السلسلة). ستكون نتيجة هذا "الضرب" رسالة خطأ في حقل الإخراج المقابل. لمنع ذلك، يتحقق الكمبيوتر مما إذا كان حقل الإدخال فارغًا (kold==null)، وإذا كان الأمر كذلك، يقوم بتعيين قيمة تساوي صفر لمتغير kold. هذا البناء يسمى العامل الشرطي. المزيد عنها في الموضوع التالي. إذا كان لا يزال من الصعب عليك العمل مع الشروط، فيمكنك حذفها، لكن لا تنس أنه لا ينبغي أن تكون هناك حقول فارغة!
ولإكمال المشروع، سنضيف الكود المناسب لزر "مسح الحقول":
كما ترون، عند النقر على هذا الزر، سيتم تعيين قيمة فارغة لكل متغير، وبالتالي حقل الإدخال/الإخراج (لا يوجد شيء بين علامتي الاقتباس).
راجع الأسئلة:
ما هي أنواع مربعات النص المستخدمة في Flash؟ ما هي المعلمات القابلة للتغيير التي يحتوي عليها حقل النص الديناميكي؟ ما نوع الحقل المستخدم لإدخال القيم من لوحة المفاتيح؟ اشرح معنى السطر التالي من التعليمات البرمجية: itog = stv * kolv + std * kold;؟ لماذا تم استخدام العامل الشرطي في المشروع الموصوف؟
رمز البرنامج الذي نظرنا إليه من قبل خطي. يتم تنفيذ كل أمر فقط بعد اكتمال الإجراء السابق. في الحياة، كل شيء أكثر تعقيدًا بعض الشيء. نفتح المظلة إذا هطل المطر، ونفرح إذا وصلنا إلى هدفنا، ونحسب جذور المعادلة التربيعية إذا كان المميز أكبر من الصفر. في جميع الحالات المذكورة أعلاه، نتصرف بطريقة أو بأخرى. لتنفيذ مثل هذه المواقف، توفر جميع لغات البرمجة عامل فرعي أو عامل شرطي. برنامج العمل النصي ليس استثناء.
الشكل 7
يتم استدعاء العامل الشرطي من خلال النقر على أمر Operations - If (الشكل 7). يظهر الهيكل التالي على الجانب الأيمن من النافذة:
لو (<Не установлено>) {
بدلاً من<не установлено>يجب عليك كتابة عملية مقارنة، تكتبها في حقل "الحالة". مثال على مثل هذا الشرط يمكن أن يكون z<10, (переменная z меньше десяти).
دعونا نلقي نظرة على عمليات المقارنة الأساسية:
> أقل؛
< больше;
>= أكبر من أو يساوي؛
<= меньше либо равно;
يساوي (لاحظ علامتي المساواة)؛
غير متساوي (لاحظ أن علامة التعجب تعني نفي عامل المقارنة الذي يتبعها).
في كثير من الأحيان، يجب استيفاء عدة شروط في وقت واحد. لهذا، يتم استخدام العمليات المنطقية (المنطقية):
&& أو و – منطقية و؛
|| أو أو - منطقي أو؛
أم لا – لا منطقي.
على سبيل المثال، الشرط (a == 10) && (z > 5) سيكون صحيحًا فقط عندما يكون المتغير a يساوي عشرة وفي نفس الوقت يكون المتغير z أكبر من خمسة.
الشرط هو السؤال الذي لا يمكن أن يكون له سوى إجابتين، "نعم" و"لا". إذا كان الشرط صحيحا، فسيتم تنفيذ الإجراءات المضمنة بين الأقواس المتعرجة.
إذا أردنا إضافة مجموعة من الأوامر التي يجب تنفيذها عندما يكون الشرط خاطئًا، فأنت بحاجة إلى إضافة Operations - Else. بعد ذلك سيبدو جزء التعليمات البرمجية كما يلي:
لو (<Не установлено>){
لإضافة أوامر، يجب عليك وضع المؤشر فوق السطر الذي يجب أن يظهر فيه الأمر. كل ما تبقى هو تحديد الأمر المطلوب في الكتلة المناسبة والنقر عليه بالماوس.
الشكل 8
دعونا نفكر في كيفية تنفيذ المبادئ المذكورة لحل المشكلة الكلاسيكية المتمثلة في إيجاد جذور المعادلة التربيعية. "يتم إدخال ثلاثة أرقام في الكمبيوتر - معلمات المعادلة التربيعية ax2 + bx + c = 0. وبناءً على البيانات المدخلة، يحدد الكمبيوتر عدد جذور هذه المعادلة، ويحسبها ويعرض النتائج على الشاشة. يتم عرض عرض تقريبي لنافذة البرنامج (الشكل 8).
لإكمال هذا المشروع:
أنشئ ثلاثة حقول إدخال في الإطار الأول على المشهد الرئيسي وأعطها الأسماء المناسبة: a، b، c. اجعل حدودهم مرئية.
قم بإنشاء بعض الحقول النصية الثابتة لتسمية حقول الإدخال/الإخراج: x2، =0، المميز، إلخ.
قم بإنشاء أربعة حقول نصية ديناميكية: d - المميز، r - الحل، x1 - قيمة الجذر الأول، x2 - قيمة الجذر الثاني.
أنشئ زرين "حل المعادلة" و"مسح".
بالنسبة لزر "حل المعادلة" الأول، أضف رمز البرنامج التالي، النص المميز بفاصلة عليا - تعليق، ليس من الضروري إدراجه:
إذا (أ == فارغة) (
إذا (ب == فارغة) (
إذا (ج == فارغة) (
"تتحقق العبارات الشرطية الثلاثة الأولى مما إذا كانت الحقول أ، ب، ج فارغة أم لا،
إذا كان الأمر كذلك، فإنهم يخصصون لهم قيمًا عددية تساوي الصفر
‘ يتم حساب المميز (المتغير د).
r = "لا توجد جذور"؛
‘ إذا تم استيفاء الشرط – يكون المميز أقل من صفر المتغير د
' يأخذ قيمة النص المقابلة
) وإلا إذا (د == 0) (
r = "جذر واحد";
x1 = (-ب)/(2*أ);
x2 = (-ب)/(2*أ);
‘ يتم استخدام أمر العمليات – Else If. شكرا له، ما يلي
‘ يبدأ العمل بالتحقق من الحالة. إذا كان صحيحا – التمييز
‘ يساوي الصفر، يتم إجراء حسابات مماثلة، والمتغيرات المرتبطة
"مع الحقول النصية تأخذ القيم المقابلة
ص = "اثنين من الذرة" + مركز حقوق الإنسان (255)؛
"الخط الأكثر غموضا." من الضروري أن يتم عرض نقش "جذران" ،
لكننا لم نكن محظوظين بالحرف الروسي ya. يقبل الفلاش الكود الذي
' يتوافق مع هذه الرسالة كفاصل أسطر.
‘ ولهذا الغرض، تتم إضافة قيمة الحرف 255 إلى السلسلة النصية. هذا
‘ الإجراء – يسمى ربط سلسلتين نصيتين بالتسلسل.
كد = الرياضيات. sqrt(د);
x1 = (-ب+كد)/(2*أ);
x2 = (-ب-كد)/(2*أ);
‘ تم استخدام أمر الرياضيات لحساب الجذر التربيعي. sqrt(د);
لتسميتها استخدم الأمر Objects – Mathematics – Sqrt
كل ما علينا فعله هو إضافة الكود التالي للزر الثاني:
يبدو لي أن التعليقات غير ضرورية هنا. المشروع جاهز. احفظه واختبره.
راجع الأسئلة:
ما البناء الذي يحدد العبارة الشرطية في Flash؟ ما هو الفرق بين الانشاءات: إذا (<Не установлено>)() آخر() وإذا (<Не установлено>))؟ كيف يمكنك ضبط النفي في فلاش؟ ما هي العمليات المنطقية وكيف تتم كتابتها في فلاش؟ ما الفرق بين السطرين: أ=10 و أ==10؟
لتنفيذ إجراءات متكررة، تستخدم لغات البرمجة بنيات خاصة تسمى مشغلي الحلقات. هناك العديد من هذه الإنشاءات الدورية، وسننظر في الإنشاءين الأكثر شيوعًا: حلقة "مع المعلمة" وحلقة "بينما". دعونا نلقي نظرة على كيفية تنفيذها في لغة Action Script.
يتم استخدام الحلقة "ذات المعلمة" عندما يكون من المعروف مسبقًا عدد المرات التي يجب فيها تنفيذ إجراء معين. يمكنك رسم التشبيه التالي - لتحضير الحساء تحتاج إلى تقشير ستة حبات بطاطس. إذا قمت بتدوين الإجراءات في شكل خوارزمية خطية، ستلاحظ أن الأوامر "خذ البطاطس"، "قشر الجلد"، "اغسل" سيتم تكرارها ست مرات. لجعل الخوارزمية أكثر إحكاما، وكذلك بحيث يمكن تغييرها بسهولة في المستقبل، فمن المنطقي أكثر كتابة هذا في شكل حلقة:
كرر (6 مرات) (
"خذ البطاطس"؛
"قشر الجلد"؛
"لغسل"؛
هنا الرقم ستة هو معلمة الدورة، عدد التكرارات. ما هو موجود في الأقواس المتعرجة هو أوامر قابلة للتكرار. سيتم إعدامهم ست مرات بالضبط.
الشكل 9
لإنشاء حلقة "مع معلمة" في Flash، تحتاج إلى تحديد الأمر Operations – For في نافذة Frame Actions. ونتيجة لذلك، سيظهر تصميم حلقة على الجانب الأيمن من الشاشة (الشكل 9).
الشكل 10
لهذا التصميم، تحتاج إلى تكوين ثلاثة حقول. الأولي – هنا تحتاج إلى كتابة القيمة الأولية لبعض المتغيرات، ويسمى أيضًا العداد. على سبيل المثال، أنا = 1. الشرط هو المدة التي سأغير فيها المتغير. على سبيل المثال، أنا<=10. Следующий – с каким шагом изменяется переменная i. Если вы хотите, чтобы переменная каждый раз увеличивалась на единицу, то можно записать i++. В результате появляется конструкция:
ل (ط = 1؛ ط<=10; i++) {
معناها كما يلي: المتغير i سيأخذ القيم من واحد إلى عشرة وسيتم تنفيذ الأوامر المضمنة بين قوسين متعرجين عشر مرات. يمكن استخدام المتغير i نفسه في نص الحلقة، ويمكن أيضًا استخدام البنيات الخوارزمية الأخرى والعبارات الشرطية وما إلى ذلك هناك.
دعونا نلقي نظرة على كيفية تنفيذ هذا التصميم في المشكلة التالية. "قم بإنشاء برنامج يقوم بحساب a للقوة n (n هي قيمة عددية). يتم إدخال قيم a و n في الحقول المناسبة. يظهر مظهر البرنامج في الشكل 10.
قم بإنشاء حقل ديناميكي واحد وأطلق عليه اسم.
إذا (ن<>0) {
‘ تكون المشكلة منطقية فقط إذا كانت n > 0، ويتم التحقق من ذلك بواسطة العبارة الشرطية
ل (ط = 2؛ ط<=n; i++) {
'بما أن المتغير an في السطر الأول قد أخذ بالفعل القيمة المساوية لـ a، فإن القيمة الأولية للعداد هي اثنان.
بالنسبة للزر "مسح"، أضف الكود التالي:
التعليقات تبدو غير ضرورية بالنسبة لي.
يتم استخدام دورة "بينما" عندما لا يكون عدد التكرارات معروفًا مسبقًا. دعنا نواصل القياس - عندما يحفر الناس البطاطس، فإنهم يقومون أيضًا بإجراءات متكررة: "احفر شجيرة"، "اجمع البطاطس"، "ضعها في كيس". الشيء هو أنه لا أحد يعرف عدد المرات التي يجب فيها تنفيذ هذه الإجراءات. ولذلك يمكن كتابة هذه الدورة على النحو التالي:
بينما (هل هناك أي بطاطس؟) افعل (
في كل مرة، بعد تنفيذ مجموعة الأوامر المحددة، من الضروري التحقق مما إذا كان الشرط قد تم استيفاءه؛ إذا كان الأمر كذلك، فسيتم تنفيذ نص الحلقة مرة أخرى.
الشكل 11
لإنشاء حلقة "أثناء" في Flash، تحتاج إلى تحديد الأمر Operations – while في نافذة إجراء الإطار. ونتيجة لذلك، سيظهر تصميم حلقة على الجانب الأيمن من الشاشة (الشكل 11).
بالنسبة لهذا التصميم، يجب تكوين حقل واحد فقط. الحالة - تحت أي حالة يتم تنفيذ الحلقة. على سبيل المثال، ذ<10.
يرجى ملاحظة أنه إذا لم يتم استيفاء الشرط في المرة الأولى التي يتم فيها استدعاء الحلقة، فلن يتم تنفيذ الحلقة أبدًا. ومن المهم أيضًا أن يتغير المتغير y أثناء تنفيذ الحلقة، وإلا فسوف يتكرر البرنامج ويتجمد. أود أيضًا أن ألفت انتباهكم إلى خصوصية تنفيذ كود البرنامج في Flash. إذا قمت بالتنقل عبر بعض خصائص الكائن أو قيمة الحقل الديناميكي، فلن ترى أن هذه الخاصية أو القيمة تتغير بسرعة عند تشغيلها. سيقوم Flash أولاً بتنفيذ البرنامج النصي بالكامل بالكامل، وفقط بعد نهاية الدورة، سيعيد رسم الشاشة ويغير هذه الخاصية أو القيمة. إن فهم هذه الميزة سيكون له أهمية خاصة بالنسبة لنا في الدرس التاسع عند دراسة الرسوم المتحركة للبرنامج.
الشكل 12
أي خوارزمية يمكن كتابتها باستخدام حلقة "مع معلمة" يمكن أيضًا كتابتها باستخدام حلقة "أثناء". ولكن العكس ليس صحيحا. هناك مشاكل لا يمكن حلها بطرق أخرى باستخدام البناء "بينما". دعونا نفكر في هذه المشكلة. "من المعروف أن سلسلة الأرقام 1، 1/2، 1/3 ... 1/n متباعدة، وهذا يعني أن مجموع هذه الأرقام يمكن أن يتجاوز أي رقم محدد مسبقًا A. ابحث عن n بحيث يكون مجموع هذه الأرقام السلسلة هي 1 + 1/2 + 1 /3 + … + 1/n ستصبح أكبر من الرقم المعطى A. يظهر مظهر البرنامج في الشكل 12."
قم بإنشاء حقل إدخال بيانات واحد وقم بتسميته a.
أنشئ حقلين ديناميكيين وقم بتسميتهما n وs على التوالي.
قم بإنشاء العدد المطلوب من التوقيعات الثابتة "a="، "n="، وما إلى ذلك.
قم بإنشاء زرين "حساب" و"مسح".
بالنسبة لزر "الحساب"، أضف الكود التالي: