برمجة تطبيقات العميل باستخدام الفلاش.

16.08.2019

المقالة الأخيرة كانت مخصصة للرسوم المتحركة. لقد أنشأنا رسومًا متحركة تعتمد على تعديل الحركة، وتغيير الشكل، وتأليف الحركة ببساطة من إطارات فردية. أعتقد أن الوقت قد حان للانتقال إلى موضوع أكثر تقدمًا، وهو النظر إلى الأداة التي تشكل الأساس لمعظم أفلام Flash عالية الجودة.

هذه الأداة هي ActionScript، وهي لغة تعتمد على الأحداث ومضمنة في Flash. يختلف الإصدار الأخير من ActionScript (الموجود في Flash 5) بشكل كبير عن ActionScript الذي كان موجودًا في Flash 4. إذا كانت في الإصدار السابق مجموعة محدودة من الأوامر، تسمح فقط بالإجراءات الأساسية، وتم إدخالها باستخدام واجهة ليست سهلة الاستخدام للغاية، فإن ActionScript الجديد يعد لغة قوية، مع مجموعة متزايدة من الأوامر، ودعم الفئات، والميراث (!)، وواجهة أكثر ملاءمة.

ActionScript يجعل صفحاتك تفاعلية. يمكنك الرد على الأحداث من خلال الماوس أو لوحة المفاتيح، ويمكنك تنفيذ أي إجراءات عند تشغيل إطار معين.

من أجل إتقان ActionScript بشكل كامل، من المستحسن أن يكون لديك بالفعل خبرة في البرمجة (يفضل أن يكون ذلك في C++، JavaScript، وما إلى ذلك). ومع ذلك، فإن إحدى فوائد لغة Flash هي أنك لا تحتاج إلى أن تكون محترفًا في Flash، أو على دراية تامة بـ ActionScript، لكتابة تعليمات برمجية عالية الجودة فيها. يمكنك استخدام ميزات اللغة التي تراها ضرورية لعملك.

وبما أن هذا المقال يدور حول أساسيات اللغة، فسوف نتناول فيه:

  • لوحة الإجراءات هي المكان الذي تتم فيه جميع الاتصالات مع ActionScript تقريبًا.
  • الأزرار - كيفية جعلها تعمل كما نطلب.
  • المسارات - كيفية الوصول إلى الكائنات الضرورية؟
  • الإجراءات الأساسية مع رسوم فلاش المتحركة (مقاطع الفيلم) - سنتحكم في عملية تشغيل الفيلم كما نشاء.
  • تصحيح الأخطاء في ActionScript - نوافذ الإخراج ومصحح الأخطاء.

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

شروط

قبل أن ندخل في إجراءات محددة، هناك بعض مصطلحات ActionScript:

  • أجراءات- هذه هي التعليمات التي تخبر كارتون فلاش بما يجب فعله. ومنهم يأتي اسم اللغة - ActionScript (حرفيًا - برنامج نصي للعمل). دعونا نتفق على أنه في إطار هذه المقالة سوف نستخدم مصطلح "التعليمات" حتى لا يتم الخلط بينه وبين الإجراءات الفعلية التي سنقوم بها.
  • الأحداث- هذه هي الإجراءات التي تحدث عند تشغيل الرسوم المتحركة. يمكن أن تحدث الأحداث، على سبيل المثال، عند انتهاء تحميل إطار معين، أو عندما نصل إلى إطار معين، أو عندما يضغط المستخدم على مفتاح على لوحة المفاتيح أو يكون مؤشر الماوس فوق الكائن.
  • التعبيراتهو أي جزء من التعليمات التي تنتج قيمة. الأمثلة التالية هي التعبيرات: 2 + 2، 2 * 2، أ + ب، 2*pi*r، (15 + ك) * عشوائي(10).
  • المهامعبارة عن كتلة من التعليمات البرمجية التي يمكن إعادة استخدامها. يمكنك تمرير القيم إلى دالة والحصول على نتيجة إرجاع منها. على سبيل المثال، الرقم = get_color(15, 24). 15 و24 عبارة عن وسيطات (أو معلمات) للدالة get_color، والتي تتم كتابة القيمة المرجعة لها إلى المتغير الرقمي.
  • الطبقاتهي أنواع من الكائنات. على سبيل المثال، فئة الشجرة هي نبات. يحتوي Flash على عدد من الفئات المحددة مسبقًا (تشبه إلى حد كبير فئات JavaScript). يمكنك إنشاء الفصول الدراسية الخاصة بك أو تعديل الفئات الموجودة.
  • المثيلاتهي حرفيا مثيلات لفئات معينة. على سبيل المثال، قد يكون مثيل النبات شجرة أو شجيرة أو زهرة. المثيل هو بالفعل كائن حقيقي محدد. إذا كانت الفئة عبارة عن تعريف لكائن (مثال)، فإن المثيل هو بالفعل تجسيد ملموس، وهو فئة في العمل. يمكن إعطاء اسم لكل مثيل بحيث يمكن الوصول إلى الوظائف أو متغيرات الكائن من خلاله.
  • معالجاتهي تعليمات خاصة تعالج الأحداث. على سبيل المثال onClipEvent- معالج للإجراءات المرتبطة برمز معين (انظر).
  • العاملينهي عناصر لغوية تحسب القيم بناءً على وسيطة واحدة أو أكثر. على سبيل المثال، يقوم عامل الإضافة (+) بإرجاع مجموع القيمتين إلى يساره ويمينه.
  • المتغيراتهي معرفات يمكنها تخزين القيم. على سبيل المثال، أ = 5؛ أو الاسم = "مايكل".

هذه هي المصطلحات التي سنستخدمها عند مناقشة ActionScript. لذا…

لوحة الإجراءات

يتم استخدام شريط الإجراءات لعرض برامج ActionScript والدخول إليها (الشكل 1). هناك وضعان للتشغيل مع اللوحة - عادي (للدمى) وخبير. في الوضع الخبير، تكون قائمة الأوامر عبارة عن حقل إدخال نص بسيط. في الوضع العادي، لا يمكننا تحرير الأوامر مباشرة. للقيام بذلك، استخدم لوحة الخيارات.

يمكنك إضافة تعليمات بالنقر فوق الزر "+" (انظر الشكل 1) أو عن طريق تحديد التعليمات المناسبة في قائمة عناصر اللغة. بالإضافة إلى ذلك، بالنسبة لجميع الإجراءات في Flash هناك تسلسلات مفاتيح يمكن استخدامها للقيام بذلك بشكل أسرع بكثير. يتم عرضها على يمين كل إجراء في قائمة الزر "+". على سبيل المثال، لإضافة وظيفة قف()، تحتاج إلى الضغط على Esc+st (بالتسلسل: Esc، ثم "s"، ثم "t").

يمكنك حذف تعليمات عن طريق تحديدها والضغط على الزر "-" (أو ببساطة مفتاح الحذف).

أنصحك بعدم البدء في استخدام وضع الخبير على الفور إذا لم تكن لديك خبرة في البرمجة باللغات المشابهة لـ Java (C++، Java، JavaScript). يتمتع الوضع العادي بميزة كبيرة تجعله لا غنى عنه للمبتدئين - فهناك فرصة أقل بكثير لارتكاب الأخطاء في بناء جملة اللغة. سيساعد هذا المبتدئين على فهم تعقيدات ActionScript بسرعة.


أرز. 1 - شريط العمل

تعرض لوحة الإجراءات إجراءات الكائن أو الإطار المحدد حاليًا.

أزرار

أول شيء تريده عندما تبدأ في التعرف على تفاعل Flash هو إنشاء شيء يستجيب لإجراءات المستخدم، و"إحياء" إبداعك، وإضافة تعليقات. أسهل طريقة للقيام بذلك هي باستخدام الأزرار. لذلك سنبدأ معهم.

كما تعلم، يوجد في Flash نوع خاص من الرموز لإنشاء الأزرار - الزر (انظر). لنفترض أنك تعلمت بالفعل كيفية إنشاء الأزرار، والآن دعنا نتعلم كيفية تتبع النقرات على هذه الأزرار.

تحتوي الأزرار الموجودة في Macromedia Flash على قائمة واسعة من الأحداث التي يمكننا الرد عليها:

  • يضعط- يتم الضغط على زر الماوس عندما يكون المؤشر داخل الزر؛
  • يطلق- يتم تحرير زر الماوس عندما يكون المؤشر داخل الزر؛
  • ReleaseOutside- يتم تحرير زر الماوس عندما يكون المؤشر خارج الزر؛
  • يتدحرج- يدخل مؤشر الماوس إلى الزر؛
  • طرح- يتجاوز المؤشر الزر؛
  • سحب أكثر- يدخل المؤشر في حدود الزر، أثناء الضغط على الزر والضغط على مفتاح الماوس؛
  • زحف- يتجاوز المؤشر الزر، أثناء الضغط على الزر والضغط على مفتاح الماوس؛
  • ضغط المفتاح("مفتاح") - تم الضغط على "مفتاح". يمكنك عرض قائمة المفاتيح في تعليمات Flash (كائن المفتاح)، أو استخدام شريط الخيارات لإدخال المفتاح المطلوب.

لسوء الحظ، فلاش "يفهم" زر الفأرة الأيسر فقط. يتم استخدام الخيار الصحيح لاستدعاء قائمة السياق (انقر بزر الماوس الأيمن على بعض الرسوم المتحركة Flash). لم أجد بعد أي طرق لالتقاط المفتاح الأوسط أو عجلة الماوس في Flash؛ لا أعتقد أنها موجودة.

يتم اعتراض هذه الأحداث باستخدام التوجيه على(). بناء الجملة الخاص به هو:

على (الحدث) (.../ أعمالنا)

أدناه يمكنك محاولة تشغيل بعض الأحداث بنفسك:

من الأمثلة الشائعة الاستخدام اتباع الرابط عند النقر فوق الزر:

على (الإصدار) ( getURL("http://rubs.boom.ru"); )

لاختبار هذا السيناريو، قم بتمييز الزر الخاص بك، ثم اضغط على Ctrl+Alt+A وأدخل إلى البرنامج.

هذه هي الطريقة التي يمكنك من خلالها اعتراض جميع الأحداث المرتبطة بزر واحد بسهولة. حسنًا، كيفية استخدامها هي مسألة خيالك تمامًا.

الخطوات الأساسية مع مقاطع الفيلم

يأتي قدر كبير من الإبداع في Flash من التلاعب بالرموز. تقريبًا جميع التقنيات الأساسية وجميع الحيل والتأثيرات مستحيلة بدون هذه الإجراءات.

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

اذن ماذا عندنا؟ سأدرج فقط الأدوات الرئيسية (في رأيي). الباقي ستجده في قائمة عناصر اللغة أو في المساعدة.

وظائف مقطع الفيلم التي يمكن استدعاؤها:

  • يلعب() - يبدأ تشغيل المقطع أو يستأنفه؛
  • قف() - إيقاف تشغيل المقطع؛
  • gotoAndPlay() - يذهب إلى إطار معين (مشهد) ويستمر في التشغيل؛
  • gotoAndStop() - يذهب إلى إطار معين (مشهد) ويوقف التشغيل.

خصائص (معلمات) المقاطع التي يمكن قراءتها/تغييرها:

  • _x، _y - إحداثيات المقطع (بالبكسل)؛
  • _xscale، _yscale - مقياس المقطع (بالنسبة المئوية)، أفقيًا وعموديًا، على التوالي؛
  • _عرض ارتفاع - عرض وارتفاع المقطع (بالبكسل)؛
  • _دوران - زاوية دوران المقطع (بالدرجات)؛
  • _ألفا - شفافية المقطع (في المئة)؛
  • _مرئي - الرؤية.

هذا ليس كل ما يمكن فعله بالمقاطع. استخدم معلمات أخرى، قم بالتجربة، كن مبدعًا!

الأسماء

من أجل الوصول إلى المقاطع، نحتاج إلى فهم مفهوم اسم الكائن (اسم المثيل) والمسار إلى الكائن (مسار الهدف). دعونا نتفق على أن مقطع الفيلم والجسم هما نفس الشيء بالنسبة لنا.

اسم الكائن هو اسم مثيل رمز معين. لنفترض أنه يمكن أن يكون لدينا رمز - سيارة، وسوف تسمى أمثلة هذا الرمز "Machine1"، و"Machine2"، و"Pickup"، و"Zaporozhets"...

من أجل إعطاء اسم لكائن ما، تحتاج إلى تحديد الكائن، وفي لوحة المثيل (نافذة->اللوحات->المثيل، Ctrl+I) في عمود الاسم، أدخل اسم الكائن (الشكل 2) ). يمكن أن تتكون الأسماء فقط من أحرف وأرقام والشرطة السفلية ("_")، ولا يمكن أن يبدأ الاسم برقم.


أرز. 2 - لوحة المثيل

مسارات

المسار إلى كائن ما هو سجل لاسم الكائن، مع مراعاة التسلسل الهرمي. سأحاول أن أشرح ما هو عليه.

أنت تعلم أنه في Flash، يمكن دمج الكائنات داخل بعضها البعض، وبالتالي تشكيل تسلسل هرمي. لذا، فإن هذا التداخل لا يوفر الراحة في التعامل مع الكائنات فحسب، بل يحد أيضًا من رؤية أسماء الكائنات. الرؤية تقتصر على مستواه. يمكن للكائن أن يصل مباشرة (بالاسم) إلى الكائنات الموجودة بداخله والتي تكون في مستوى واحد أقل في التسلسل الهرمي.

من أجل الوصول إلى كائن على مستوى آخر، عليك أن تعرف المسار إليه. علاوة على ذلك، يمكن تحديد المسار إما بشكل مطلق (من المستوى الأعلى للتسلسل الهرمي) أو نسبيًا (من المستوى الحالي).

يتضمن المسار الكائنات التي نحتاج من خلالها إلى "المرور" على طول شجرة التسلسل الهرمي للوصول إلى الكائن الذي نحتاجه، والمدرج من خلال نقطة. بالإضافة إلى ذلك، هناك العديد من المؤشرات (يمكننا تسميتها "الكائنات الافتراضية") والتي غالبًا ما تكون مفيدة جدًا:

هذا - مؤشر إلى "نفسه" (أي إلى الكائن الحالي). قد تكون هناك حاجة إليه، على سبيل المثال، عندما تحتاج إلى تمرير مؤشر إلى الكائن الذي يتم استدعاء هذه الوظيفة منه.

_الأبوين - مؤشر إلى "الوالد". يشير إلى كائن في مستوى أعلى في التسلسل الهرمي.

_جذر - "جذر". هذه هي بداية التسلسل الهرمي. لا يمكنك الاستغناء عنه عند تحديد المسار المطلق.

يبدو المسار مثل هذا:

leaf.play();- في الموضوع الفرعي ورقة(ورقة) تسمى الدالة يلعب()؛

_parent.tree.leaf.stop();- من المفترض وجود كائن في مستوى واحد شجرة،الذي لديه كائن ورقة، والتي يتم استدعاء الدالة منها قف()؛

_root.banner._visible = false;- اصنع مقطعًا راية، يقع في المستوى الأول، غير مرئي.



أرز. 3 - التسلسل الهرمي للمقاطع

للتوضيح، لنأخذ تسلسلًا هرميًا مكونًا من 5 كائنات (الشكل 3). الكائنات 1-4 موجودة في الطبقة الأولى، والكائن 5 موجود في الطبقة الثانية. الكائن 2 متداخل في الكائن 1، والكائن 3 متداخل في الكائن 2. الكائنات الموجودة في الصورة متداخلة بصريًا داخل بعضها البعض، لكن هذا لا يعني بأي حال من الأحوال أن هذا يجب أن يكون هو الحال "في الحياة الواقعية". هنا تم تجميعهم من أجل الوضوح. بما أن اسم الكائن لا يمكن أن يبدأ برقم، فلنسمِ كائناتنا obj1-obj5.

الآن دعونا نتعامل مع المسارات. أولاً، دعونا نلقي نظرة على الكائنات التي يمكن أن تشير إلى بعضها البعض بالاسم. obj1يمكن الاتصال كائن,أ obj2- ل obj3، و لكن في نفس الوقت obj1لا يمكن الاتصال obj3مباشرة، لأن لم يرد فيه obj1، و في obj2.

لنفترض أن الكائن الأول يحتاج إلى الكائن 3 لبدء التشغيل مرة أخرى من الإطار الأول. وإليك كيف يتم ذلك:

Obj2.obj3.gotoAndPlay(1);

لكي يجعل الكائن الرابع الكائن الأول (ملاحظة مع جميع الكائنات الفرعية!) شبه شفاف، فإنه يحتاج إلى كتابة ما يلي في البرنامج النصي الخاص به:

Parent.obj1._alpha = 50;

Root.obj1._alpha = 50;

لأن obj4هو في المستوى الأول من التسلسل الهرمي، ثم لذلك _جذرو _الأبوين- نفس.

الآن بالنسبة للكائن 3، سنكتب برنامجًا نصيًا يجعل الكائن 5 غير مرئي عند الضغط على زر الماوس. في البرنامج النصي للكائن 3 نكتب:

OnClipEvent (mouseDown) ( _root.obj5._visible = false; )

في هذا المقتطف استخدمنا المسار المطلق. إذا استخدمنا النسبي فسيبدو كما يلي:

Parent._parent._parent.obj5._visible = false;

أتمنى أن أكون قد وضحت مشكلة المسار.

أظهرت الأمثلة أعلاه ليس فقط كيف تبدو المسارات، ولكن أيضًا كيف يتم استدعاء الوظائف وتعيين قيم الخصائص.

برنامج لإنشاء ألعاب فلاش دون معرفة لغات البرمجة. يتيح لك إنشاء ألعاب من الكتل المنطقية والصور المعدة مسبقًا.

ذات مرة، ربما منذ بضع سنوات مضت، ظهر برنامج Game Maker على موقعنا، والذي سمح لك بإنشاء ألعاب دون معرفة أي لغة برمجة تقريبًا!

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

مميزات البرنامج

باستخدام Stencyl، يمكنك إنشاء ألعاب ثنائية الأبعاد من أي نوع، ولكن الأهم من ذلك كله هو أن محرك البرنامج "مصمم" لمختلف ألعاب إطلاق النار والحركة. من الناحية الهيكلية، البرنامج عبارة عن مجموعة كاملة من الأدوات التي يمكنك من خلالها، إذا رغبت في ذلك، إنشاء لعبة من الصفر دون استخدام تطبيقات الطرف الثالث.

نقوم بإغلاق النافذة المنبثقة التي تحتوي على معلومات حول الإصدار الجديد من البرنامج باستخدام الزر "إغلاق" أو "عدم إظهار هذا مرة أخرى" (إذا كنا لا نريد رؤية هذه النافذة في كل مرة نبدأ فيها البرنامج) و بدلا من ذلك نحصل على النافذة التالية:

يُطلب منا هنا إنشاء حسابنا الخاص في مجتمع مطوري Stencyl. من حيث المبدأ، ليس من الضروري إنشاء حساب (للقيام بذلك، انقر فوق الزر "ذكرني لاحقًا" في الأسفل)، ولكن التسجيل يمنحك الفرصة لتنزيل قوالب وإجراءات إضافية من وحدة تخزين عبر الإنترنت تسمى StencylForge، لذلك لن يضر :). لإنشاء حساب، انقر فوق الزر "إنشاء حساب" وانتقل إلى نموذج التسجيل:

نقوم هنا بملء الحقول القياسية بتسجيل الدخول وكلمة المرور (مرتين) وعنوان البريد الإلكتروني، ثم انقر فوق الزر "تسجيل". إذا سارت الأمور على ما يرام، فسيتم فتح واجهة نافذة بدء البرنامج أمامك أخيرًا.

واجهة نافذة البداية

خارجيًا، تنقسم مساحة عمل نافذة Stencyl Start إلى عدة مناطق:

يوجد في الجزء العلوي تقليديًا شريط قوائم وشريط أدوات. يتم جمع كافة الإعدادات الرئيسية وأزرار التحكم هنا. يوجد أسفل شريط الأدوات شريط رمادي ضيق صغير. يحتوي على علامات تبويب (نعم، واجهة Stencyl متعددة علامات التبويب، وهي مريحة للغاية) وأزرار للتبديل بينها بسرعة (على اليمين).

تنقسم منطقة العمل الرئيسية إلى قسمين: على اليسار توجد لوحة تنقل لأقسام البرنامج، وعلى اليمين يوجد المحتوى الرئيسي (على الشاشة الرئيسية توجد قائمة بالألعاب)، والتي تتغير اعتمادًا على وضع التشغيل النشط حاليًا. هناك بضعة أزرار إضافية في الأسفل تتيح لك:

  1. افتح المجلد الذي يخزن فيه Stencyl جميع موارد الألعاب التي تم إنشاؤها والألعاب نفسها (زر "عرض مجلد الألعاب" في الزاوية اليسرى السفلية).
  2. إطلاق دورة تدريبية حول العمل مع البرنامج ("بدء الدورة التدريبية" على اللوحة الخضراء في الزاوية اليمنى السفلية). بالمناسبة، يوجد بجانبه زر لإخفاء عرض التدريب ("لا تظهر هذا مرة أخرى").
  3. افتح اللعبة المحددة حاليًا من القائمة، وهو ما يشبه النقر المزدوج على صورة اللعبة ("فتح اللعبة" في الزاوية اليمنى السفلية).

لدراسة إمكانيات Stencyl بشكل مستقل، يمكنك حضور دورة تدريبية (ويُنصح بإكمالها)، بالإضافة إلى فتح إحدى الألعاب الجاهزة التي تناسب فكرتك بشكل أفضل ومعرفة كيف يعمل كل شيء هناك. وأقترح دراسة عمل البرنامج باستخدام مثال إنشاء لعبة حول مغامرات رمز موقعنا ومقيمه الافتراضي - فريدا بيست!

من أين تبدأ في إنشاء لعبة في Stencyl

إذا نظرت، قبل أن تقرر إنشاء لعبتك، إلى الأمثلة القياسية للألعاب على Stencyl، فربما لاحظت أنها جميعها بسيطة جدًا، وذات شاشة واحدة ولها منظر جانبي. سنصنع لعبة إطلاق نار ديناميكية ذات رؤية علوية ونطلق النار بالماوس! كل شيء يشبه الألعاب "الكبيرة" :).

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

يمكننا هنا اختيار قالب لعبة حسب النوع مع مجموعة محددة مسبقًا من الوظائف والإجراءات لمشروعك. ومع ذلك، سنقوم بإنشاء لعبة من الصفر، لذا حدد "لعبة فارغة" وانقر فوق الزر "التالي".

في الخطوة التالية سنحتاج إلى إجراء بعض الإعدادات الأساسية:

في حقل "الاسم" نحتاج إلى الإشارة إلى اسم لعبتنا، وفي قسم "حجم الشاشة" نحتاج إلى ضبط أبعاد الملعب، مع الإشارة إلى عرضه (العرض) وارتفاعه (الارتفاع) بالبكسل. بعد ذلك، انقر فوق الزر "إنشاء" وانتقل مباشرة إلى واجهة محرر اللعبة:

بشكل افتراضي، يتم فتح علامة التبويب "لوحة المعلومات" أمامنا، حيث يتم جمع شجرة موارد اللعبة بأكملها على اليسار، وتقع منطقة العمل على اليمين. وهنا أعتقد أنه سيكون من المناسب تقديم بعض التوضيحات حول بنية "الشجرة".

يتكون من أربعة فروع، يحتوي أول فرعين منها على مجموعات قياسية من الموارد (الموارد) والمنطق (المنطق)، ويمكن للأخيرين تخزين حزم الموارد التي تم تنزيلها يدويًا (حزم الموارد) والامتدادات (الامتدادات) بشكل اختياري.

الفرع الرئيسي هنا هو فرع الموارد. ويحتوي على الأقسام التالية:

  1. أنواع الممثلين - يتم تخزين النقوش المتحركة لجميع شخصيات اللعبة هنا ويتم تكوين إجراءات الرسوم المتحركة والتفاعل مع بعضهم البعض.
  2. الخلفيات - في هذا القسم يمكننا تخزين جميع الخلفيات الضرورية للعبة. علاوة على ذلك، يمكن أن تكون الخلفية للخلفية (الخلفية) وللمقدمة (المقدمة)، مما يسمح لك بتراكب الخلفيات فوق بعضها البعض، وبالتالي تحقيق تأثير المنظر، على سبيل المثال.
  3. الخطوط عبارة عن قسم يمكننا من خلاله تحميل العديد من الخطوط الجميلة لإنشاء نقوش أصلية. ومع ذلك، تجدر الإشارة إلى أن Stencyl يمكنه العمل فقط مع مجموعة الأحرف الإنجليزية، لذا لإضافة أحرف روسية إلى ملف الخط، نحتاج إلى استبدال بعض الأحرف اللاتينية بها.
  4. المشاهد هي مكان لإنشاء مستويات اللعبة وتعديلها. هنا يمكننا ضبط مظهر أي مرحلة ووضع جميع الشخصيات والمكافآت وعناصر اللعبة الأخرى.
  5. الأصوات - على التوالي مستودع لجميع الأصوات المستخدمة في اللعبة.
  6. Tilesets هو فرع خاص يتم فيه تخزين المربعات - نقوش متحركة خاصة يمكننا استخدامها لبناء مستويات اللعبة.

إنشاء وتخصيص البلاط

لا يوجد رأي واضح بشأن الترتيب الذي سيتم به تنفيذ هذه اللعبة أو تلك. يعتمد ذلك على ما يناسبك، لكني أوصي بالخوارزمية التالية:

نصنع المشهد الأول - نصنع الشخصية - نصنع الأعداء - نصنع المكافآت - نصنع المراحل المتبقية

لإنشاء مشهد في Stencyl، عليك رسم مظهره في فرع Scenes. ومع ذلك، من أجل الرسم، نحتاج أولاً إلى الحصول على مكعبات "للرسم" بها. تسمى هذه الكتل الموجودة في البرنامج بالبلاطات ويتم تخزينها في قسم Tileset:

مجموعة البلاط عبارة عن مصفوفة بسيطة تتكون من الصور التي تقوم بتحميلها فيها. يمكنك تحميل إما مصفوفة جاهزة (صورة تتكون من عدة صور متساوية الحجم في صف واحد أو عدة صفوف) أو استكمال المجموعات الموجودة بصور منفصلة.

أولاً، نحتاج إلى إنشاء مجموعة جديدة من البلاط (الزر "إنشاء جديد" في قسم مجموعات البلاط)، وبعد ذلك سنرى نافذة كما في لقطة الشاشة أعلاه. لتحميل صورة، نحتاج إلى النقر فوق الزر "اختيار صورة" وتحديد ملف مُعد مسبقًا بالصورة (الصور) المطلوبة في نافذة Explorer التي تفتح.

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

لكل صورة (بلاطة) في المصفوفة، يمكنك تكوين معلمات التفاعل مع شخصيات اللعبة وكائناتها. للقيام بذلك، تحتاج إلى تحديد البلاط المطلوب والوصول إلى النافذة التالية:

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

بالإضافة إلى الحدود، يمكنك ضبط الرسوم المتحركة لكل مربع عن طريق إضافة إطارات باستخدام زر "إدراج إطارات" في اللوحة السفلية. بشكل افتراضي، تبلغ سرعة الرسوم المتحركة 100 مللي ثانية، ولكن يمكن تغيير هذا الرقم بشكل عشوائي لكل إطار.

للقيام بذلك، ما عليك سوى النقر نقرًا مزدوجًا فوق الإطار المطلوب باستخدام زر الماوس الأيسر وفي النافذة التي تفتح، قم بتغيير مؤشرات التأخير كما نطلب. من الممكن أيضًا تصحيح الإطار المحدد باستخدام محرر الرسوم المدمج، والذي يفتح باستخدام زر "تحرير الإطار".

تقديم مشهد في Stencyl

بعد تشكيل مجموعة البلاط، من المنطقي الانتقال إلى الخطوة التالية - تشكيل مساحة تشغيل نهائية من الصور المضافة. يمكن القيام بذلك عن طريق النقر فوق الزر "إنشاء جديد" في قسم المشاهد. بعد الضغط على الزر سيتم نقلنا إلى نافذة إعدادات المشهد:

نحتاج هنا بالتأكيد إلى تعيين اسم فريد لمشهدنا في حقل "الاسم"، وتحديد الأبعاد (العرض والارتفاع بالبلاط (افتراضيًا) أو البكسل)، وكذلك تعيين اختياريًا (أي وفقًا لرغبتنا الخاصة) لون الخلفية للمشهد الجديد. انقر فوق "موافق" وادخل إلى محرر المستوى:

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

بادئ ذي بدء، نرسم خلفية منطقة عملنا. للقيام بذلك، في اللوحة اليمنى، قم بتنشيط علامة التبويب "لوحة" وعليها علامة التبويب "البلاط" وحدد البلاط المطلوب من القائمة المعروضة. ثم، في اللوحة اليسرى، حدد أداة القلم الرصاص وارسم المناطق المطلوبة باستخدام المربع المحدد.

نظرًا لدعم الطبقات، يمكن أن تتداخل البلاطات مع بعضها البعض، لذا فمن المنطقي تنظيم المستوى مع الأخذ في الاعتبار حقيقة أنه، على سبيل المثال، في الطبقة "الطبقة 0" سيكون لدينا طبقة خلفية، وفوق ذلك سيكون هناك كن طبقة بها عوائق وشخصيات، وحتى طبقة أعلى تحتوي على عدادات ومؤشرات لعب مختلفة.

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

اختراع الشخصية

بعد أن قمنا بإنشاء المشهد الأول، فقد حان الوقت "لتعبئته" بشخصيات اللعبة المختلفة. في Stencyl يطلق عليهم "الممثلون" ويتم تخزينهم وفقًا لذلك في قسم "أنواع الممثلين". يتم إنشاء الممثلين وفقًا لنفس المبدأ، لذلك سننظر إلى هذه العملية باستخدام مثال إنشاء الشخصية الرئيسية في لعبتنا، فريدا.

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

هنا، على الجانب الأيسر، يتم عرض قائمة الرسوم المتحركة للممثل المضافة (افتراضيًا، إطار فارغ "الرسوم المتحركة 0")، وعلى الجانب الأيمن توجد أدوات لإضافة وتخصيص هذه الرسوم المتحركة نفسها.

حدد رسمًا متحركًا فارغًا (أو أضف رسمًا جديدًا بالنقر فوق زر علامة الجمع أدناه) وانقر فوق حقل "انقر هنا لإضافة إطار" على الجانب الأيمن. بعد ذلك، سيتم فتح نافذة لإضافة الصور، وهي مشابهة لنافذة مشابهة لإضافة مربعات جديدة إلى المجموعة. انقر فوق الزر "اختيار صورة"، وحدد الصورة المطلوبة واضبط تصميمها وأبعادها (إذا لزم الأمر).

عندما يتم تكوين كل شيء، انقر فوق الزر "إضافة" في الجزء الأيمن السفلي من نافذة الإضافة - يجب أن تظهر الرسوم المتحركة كمعاينة في القسم الأيسر:

الآن كل ما يتعين علينا القيام به هو إعداد معدل الإطارات (النقر المزدوج على أي إطار) وبعض المعلمات الإضافية، والنوع، واسم الرسوم المتحركة (مفيد جدًا للمشاريع المعقدة)، وتكرار التشغيل (نشط افتراضيًا)، والمزامنة ونقطة الأصل الأساسية لـ أصل الكائن (المركز افتراضيًا).

في شريط الأدوات السفلي في القسم الأيمن سنجد صفًا من الأزرار. أنها تسمح:

  • إضافة إطارات جديدة إلى الرسوم المتحركة (إطارات الاستيراد)؛
  • تحرير الإطار المحدد في محرر خارجي (تحرير الإطار (خارجي))؛
  • إنشاء إطار في محرر خارجي (إنشاء إطار (خارجي))؛
  • تحرير إطار في المحرر المدمج (تحرير الإطار)؛
  • إزالة الإطار (إزالة الإطار)؛
  • إطار النسخ (إطار النسخ)؛
  • لصق الإطار (لصق الإطار)؛
  • حرك إطارًا واحدًا للخلف (تحرك للخلف) أو للأمام (تحرك للأمام).

تخصيص خيارات الشخصية والسلوك

أعلاه، قمنا بعمل رسم متحرك لفريدا وهي تجري، باستخدام إطارين فقط، وهما في الواقع نفس الرسم المنعكس أفقيًا. الآن نحن بحاجة للتأكد من أننا نستطيع التحكم في حركة بطلتنا باستخدام الماوس ولوحة المفاتيح، وأيضًا حتى تتفاعل بشكل مناسب مع الاصطدامات بالعقبات التي رسمناها على المسرح.

أولا وقبل كل شيء، دعونا إعداد الاصطدامات. للقيام بذلك، انظر إلى السطر الموجود أسفل قائمة علامات التبويب المفتوحة وابحث عن الزر "تصادم" هناك.

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

أولاً، دعونا نقوم بتقليل المساحة المحيطة بفريدا إلى حجم جسدها فقط. هنا علينا أن نأخذ في الاعتبار أننا لا نستطيع تحريك المنطقة بالماوس، وبالنسبة للإعدادات نستخدم أربعة معلمات رقمية في قسم "الشكل الحالي". أولاً، قمنا بتعيين الإزاحة الأفقية للمنطقة (من الحافة اليسرى) والإزاحة الرأسية (من الأعلى)، ثم نحدد العرض والارتفاع الجديد لمنطقة التصادم.

يوجد أدناه العديد من المعلمات الإضافية، المدمجة في قسم "الخصائص الفيزيائية". هنا نواجه مربع الاختيار "هل هو مستشعر؟" و مفهوم المجموعات .

إذا قمت بتنشيط علامة "المستشعر"، فستتوقف المنطقة المحددة عن كونها كائنًا ماديًا: ستصبح الشخصية أو جزء منها "شفافًا" للعديد من العوائق، ولكنها ستحتفظ في الوقت نفسه بالقدرة على إطلاق أي إجراءات في ظل ظروف معينة.

مثال من الحياة الواقعية يمكن أن تكون أنظمة الإنذار الحديثة التي تستخدم الليزر: نحن لا نرى الليزر نفسه، ولكن إذا لمسناه، تبدأ عملية الإخطار بأننا صعدنا إلى المكان الخطأ :).

الآن، ما الغرض من المجموعات؟ لنفترض أن شخصيتنا لا تحمل مكبرًا، بل سيفًا يستخدمه (أو بالأحرى هي :)) في تقطيع الأعداء إلى ملفوف (بالمناسبة، في الكود المصدري، تمتلك فريدا شفرة ليزر) ؛)).

المهمة هي أنه عندما نلمس العدو بالسيف، يموت العدو، ولكن إذا أخطأنا وضرب الخصم فريدا، فسيتم أخذ بعض طاقتها. والمشكلة الرئيسية هنا هي أن الرسوم المتحركة الضاربة لدينا هي في الواقع صورة يظهر فيها كلا من فريدا والسيف في نفس الوقت...

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

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

ربما يكون هذا كل شيء مع الاصطدامات، لكنني أقترح الآن التعامل مع الشيء الأكثر أساسية - ضبط سلوك الممثل على المسرح. للقيام بذلك، نحن بحاجة للذهاب إلى قسم "السلوكيات":

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

على سبيل المثال، اخترت سلوك "الحركة ذات 8 اتجاهات"، والذي يتضمن تحرك الممثل في دائرة في أي اتجاه. الآن نختار الإجراء المضاف في القائمة الموجودة على اليسار وعلى الجانب الأيمن يمكننا تكوين معلماته.

إضافة الممثلين إلى المسرح واختبار المستوى

إذا اتبعت التعليمات، فمن المفترض أن يكون لديك بالفعل الحد الأدنى من الموارد المطلوبة للعبة. كل ما تبقى هو معرفة كيفية إضافة ممثلين إلى المسرح واختبار وظائف مساحة اللعب.

نعود إلى محرر المشهد الذي تم إنشاؤه مسبقًا ونقوم بتنشيط اللوحة مرة أخرى، ولكن الآن بدلاً من البلاط، سنقوم بتشغيل علامة التبويب "الممثلون". سنرى قائمة بالأحرف التي تم إنشاؤها مسبقًا والتي يمكننا إضافتها إلى المشهد باستخدام أداة القلم الرصاص:

لدينا شخصية رئيسية واحدة فقط، لذا فإن نقرة واحدة فقط بقلم الرصاص تكفي لإضافتها إلى المشهد. والآن جاءت لحظة الحقيقة - الاختبار الأول! لبدء التجميع الأولي للمشروع، ما عليك سوى النقر فوق الزر "اختبار المشهد" في الزاوية اليمنى العليا من علامة التبويب التي تحتوي على المشهد الخاص بنا. بعد مرور بعض الوقت (يستغرق التجميع الأول وقتًا أطول دائمًا)، سنكون قادرين على الإعجاب بعملنا في مشغل الفلاش:

بالإضافة إلى اللاعب نفسه مع اللعبة، نعرض على الجانب نافذة لسجلات تشغيل اللعبة. وبمساعدتهم، يمكننا العثور بسرعة على المشكلات التشغيلية ومحاولة إصلاحها.

كما نرى، يمكننا بالفعل تحريك فريدا في اتجاهات مختلفة، لكن المشهد نفسه يظل بلا حراك وبمجرد أن تتجاوز بطلتنا حافة الجزء المرئي من المسرح، فإنها تختفي... اضطراب :). يمكنك حل المشكلة عن طريق إضافة سلوك "متابعة الكاميرا" إلى Frida أو تعيين المعلمات الضرورية باستخدام الأحداث.

أيضًا، سيكون من الجيد استبدال المؤشر القياسي بشيء أكثر ملاءمة، على سبيل المثال، مشهد. يمكننا تنفيذ ذلك عن طريق إضافة ممثل جديد على شكل مشهد، وإزالة منطقة الاصطدام الخاصة به وإرفاقه بالمشهد باستخدام السلوك القياسي "Custom Mouse Cursor":

نظام الأحداث في Stencyl

يمكن إنشاء ألعاب بسيطة في Stencyl باستخدام السلوكيات القياسية فقط (السلوكيات)، ومع ذلك، إذا كنا بحاجة إلى شيء غير قياسي، فسيتعين علينا التفكير في استخدام الأحداث التي تم تكوينها للممثلين والمشاهد في قسم "الأحداث":

في الواقع، يتم أيضًا بناء السلوكيات على أساس الأحداث، ولكنها تحتوي أيضًا على واجهة مرئية، مما يبسط عملية التحرير. نحن هنا نتعامل مباشرة مع الكتل الوظيفية التي تؤدي إجراءات معينة.

تنقسم نافذة الحدث إلى ثلاثة أقسام:

  1. يحتوي القسم الأيسر على قائمة الأحداث والأزرار الخاصة بإدارتها (إنشاءها/حذفها/نقلها). لإضافة حدث، نحتاج إلى النقر فوق الزر "إضافة حدث"، ثم تحديد المجموعة المطلوبة في القائمة المنسدلة والإشارة إلى الوظيفة المحددة التي نحتاجها. يوجد على يمين الحدث الذي تم إنشاؤه مربع اختيار يسمح لنا بإلغاء تنشيطه إذا لزم الأمر.
  2. في القسم الأيمن لدينا قائمة بجميع الإجراءات المتاحة، مجمعة في 10 أقسام، يتم تنشيط كل منها بواسطة الزر المقابل. لمزيد من الراحة، يتم فرز الإجراءات في كل قسم إلى علامات تبويب موضوعية ولها لون فريد خاص بها. هناك ثلاث علامات تبويب أخرى في الأسفل هنا. بشكل افتراضي، تكون علامة التبويب "لوحة الألوان" نشطة، حيث توجد قوائم الإجراءات. تعمل علامة التبويب الثانية - "السمات" - على عرض المتغيرات المحلية (المزيد عنها أدناه)، والثالثة - "المفضلة" - تعمل على عرض الإجراءات التي اخترتها.
  3. القسم المركزي هو منطقة العمل. نحن هنا نشكل الأمثلة النهائية لسلوك الشخصية باستخدام مجموعات مختلفة من كتل الإجراءات والأحداث التي تحدث فيها هذه الإجراءات. يتم الدمج ببساطة عن طريق سحب الكتل إلى مساحة العمل ثم تحرير المعلمات المحددة فيها. تجدر الإشارة إلى أن الوظيفة تتكون فقط من تلك الكتل التي تم دمجها مع بعضها البعض وإدراجها في الكتلة الرئيسية للحدث. وبالتالي، من أجل إزالة بعض المجموعات غير الضرورية حاليًا (ولكنها مفيدة) مؤقتًا، نحتاج فقط إلى نقلها من البنية العامة إلى المساحة الحرة. إذا أصبحت الإجراءات غير ضرورية على الإطلاق بمرور الوقت، فيمكن حذفها بالكامل عن طريق نقلها إلى سلة المهملات الموجودة في الجزء العلوي الأيمن من منطقة العمل.

في الواقع، لقد وصفنا بالفعل خوارزمية إنشاء الأحداث، ولكن، للأسف، لا أستطيع تقديم أي توصيات عالمية - ستكون الأحداث مختلفة لكل لعبة ويمكن أن يكون هناك الكثير منها... كمثال، يمكنك البحث في الكود المصدري للعبة فريدا، والتي ستجدها في الأرشيف مع البرنامج، ولكن هذا مجرد دليل، لأن العمل على الأحداث هو إبداعك الشخصي :).

إعداد الفيزياء والخصائص

لقد قمنا بالفعل بتغطية الكثير من الأشياء، لكننا لم نتطرق إلى بعض المواضيع الإضافية التي يمكن أن تكون مهمة جدًا عند إنشاء الألعاب - أتحدث عن إعداد جميع أنواع خصائص الممثلين والمشاهد لدينا. نقوم بتخزين هذه المعلمات في علامتي التبويب الأخيرتين. وأولها "الفيزياء":

تبدو علامة تبويب إعدادات الفيزياء مختلفة بالنسبة للمشاهد والممثلين. في علامة التبويب إعدادات فيزياء المشهد، يوجد معلمتان فقط - ضبط الجاذبية الأفقية والرأسية. يتم عرض مظهر القسم الخاص بتعيين المعلمات المادية للممثلين في لقطة الشاشة أعلاه ويتكون من خمس علامات تبويب مع خيارات مختلفة:

  1. علامة التبويب العامة لدينا هنا ثلاثة عوامل: نوع الممثل (ثابت، منصة (يمكن أن يتحرك وفقًا لقواعد معينة، ولكن لا يمكن تحريكه بواسطة ممثلين آخرين) ومتحرك)، ودوران الممثل (يمكن أن يدور أو لا) وتأثير الجاذبية .
  2. علامة التبويب "الثقل". في علامة التبويب هذه، يمكنك ضبط كتلة الكائن الافتراضي وقصوره الذاتي.
  3. تتيح لك علامة التبويب "المواد" تعيين خصائص الممثل التي تحاكي سلوك كائن حقيقي مصنوع من مادة معينة. لدينا الفرصة لاختيار أحد الإعدادات المسبقة من القائمة المنسدلة "المواد المعدة مسبقًا" أو ضبط خصائص الاحتكاك والمرونة لممثلنا يدويًا.
  4. تتيح لنا علامة التبويب "التخميد" الفرصة لضبط معلمات تفاعل الممثل مع البيئة بشكل أكثر دقة من خلال إدخال قيم مثل المقاومة الخطية (على سبيل المثال، للهواء) والزاوية (أثناء الدوران).
  5. تتيح لنا علامة التبويب "خيارات متقدمة" الوصول إلى العديد من الإعدادات الإضافية غير المدرجة في الأقسام السابقة. هنا يمكنك تمكين نموذج فيزيائي مبسط (لتحسين اللعبة)، والكشف التلقائي عن مناطق الاصطدام، وأحداث إعادة الاصطدام، والقدرة على تطبيق الإيقاف المؤقت للممثل.

لقد قمنا بفرز الفيزياء، والآن دعونا نلقي نظرة على الخصائص التي يتم استدعاؤها بالضغط على زر "الخصائص":

كما في الحالة السابقة، ستكون الخصائص مختلفة بالنسبة للمشاهد والممثلين. في خصائص المشهد يمكننا تحديد اسمه ("الاسم") والأبعاد (قسم "الحجم") ولون الخلفية ("لون الخلفية").

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

ولكن هذه ليست كل الإعدادات المتوفرة لنا في Stencyl. تتوفر لنا الإعدادات العامة للعبة من خلال النقر على زر "الإعدادات" الموجود على شريط الأدوات الرئيسي:

في نافذة الإعدادات، توجد على اليسار قائمة بمجموعات المعلمات، وعلى اليمين توجد المنطقة الرئيسية (المقسمة أحيانًا إلى عدة علامات تبويب) التي تحتوي على جميع أنواع الخيارات. نحن هنا مهتمون بالأقسام التالية:

  1. "إعدادات" المجموعة الأولى من الإعدادات التي تسمح لك بتخصيص لعبتنا قليلاً. تحتوي هذه المجموعة على ثلاث علامات تبويب. في الأول ("الرئيسي") يمكننا إعطاء اللعبة اسمًا جديدًا ووصفًا قصيرًا بالإضافة إلى صورة معاينة وأيقونة. في علامة التبويب "العرض"، يمكنك تكوين الحجم النهائي لمساحة اللعبة، وفي علامة التبويب الأخيرة ("متقدمة")، يمكنك تمكين الفيزياء المبسطة وتعيين معلمات منع التعرج.
  2. "محمل" في هذه المجموعة، يمكننا جزئيًا (مع الأخذ في الاعتبار بعض قيود الإصدار المجاني) تخصيص مظهر أداة التحميل المسبق (المحمل)، والتي سيتم عرضها قبل تحميل اللعبة بالكامل. توجد بالفعل أربع علامات تبويب هنا. في الأول ("عام" - عام) يمكنك تحديد رابط لموقع الويب الخاص بك، وتمكين الحماية من نسخ اللعبة على موارد أخرى (مفصولة بفواصل، ندرج قائمة المواقع المسموح بها في السطر الثاني) وأحد أدوات تحميل التشغيل جلود. في علامة التبويب "المظهر"، يمكننا ضبط لون شاشة أداة تحميل التشغيل وصورة الخلفية. باستخدام علامة التبويب "Bar Style"، يمكنك تحديد أبعاد شريط أداة تحميل التشغيل، ويتيح لك "Bar Color" ضبط ألوانه وفقًا لذلك.
  3. "صفات" هذه المجموعة من الإعدادات هي واحدة من أبسط الإعدادات! هنا يمكنك إدارة المتغيرات العامة المستخدمة في اللعبة (المزيد حول المتغيرات في القسم التالي أدناه).
  4. "ضوابط" كما يوحي الاسم، يمكننا في هذه المجموعة إعادة تكوين وإضافة أزرار لوحة المفاتيح التي سيتم استخدامها لتنفيذ إجراءات معينة في اللعبة.
  5. "مجموعات" لقد ناقشنا بالفعل آلية المجموعات أعلى قليلاً. هنا لدينا الفرصة لرؤية جميع المجموعات التي تم إنشاؤها وتحريرها.

في الواقع، هذه هي جميع الإعدادات التي سنحتاجها لإنشاء ألعاب فلاش في الإصدار المجاني من Stencyl. ولكن بما أن هذا القسم يتعلق بالإعدادات، فسيكون من العار عدم ذكر معلمات البرنامج نفسه. يمكنك الوصول إليها عن طريق تفعيل عنصر "التفضيلات" في قائمة "ملف":

يوفر البرنامج دعمًا لواجهة متعددة اللغات، ولكن في الوقت الحالي لا يوجد سوى ترجمة باللغة الإنجليزية، لذلك انتقلنا مباشرة إلى علامة التبويب الثانية - "مساحة العمل". الحقيقة هي أن الإصدار الثالث من Stencyl قدم وظيفة لإنشاء صور تكيفية تلقائيًا من النقوش المتحركة التي تم تنزيلها.

وبشكل افتراضي، يتم مضاعفة العفريت، مما يستلزم تدهور جودة الرسومات. لمنع حدوث ذلك، أنصحك بتعطيل تغيير حجم الصورة عن طريق تحديد "قياسي (1x)" في حقل "القياس".

أنصحك أيضًا بإلقاء نظرة على علامة التبويب الثالثة - "المحررون". هنا يمكنك ربط إجراءات معالجة الرسومات والصوت والنصوص بمحررات خارجية أكثر تقدمًا (من Stencyl المضمنة).

قليلا عن المتغيرات

لقد نظرنا تقريبا إلى جميع الفروق الدقيقة في العمل في Stencyl، لكننا لم نتطرق إلى واحدة من أقوى الميزات - العمل مع المتغيرات.

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

في حالتنا، يمكن لمتغير "الضابط المناوب" أن يأخذ واحدة من ثلاث قيم، والتي سيتم استبدالها تلقائيًا اعتمادًا على شرط معين (على سبيل المثال، ترتيب الأسماء في القائمة).

في Stencyl، يمكن أن تكون المتغيرات محلية أو عالمية. يمكننا الإعلان عن المتغيرات المحلية كجزء من حدث أو سلوك ما، وستعمل فقط مع الإجراءات المحددة. يمكنك إنشاء متغير محلي في محرر الأحداث عن طريق استدعاء قسم "السمات":

لدينا هنا عدة علامات تبويب:

  1. تتيح لك علامة التبويب "Getters" تعيين المتغيرات التي ستتلقى قيمة من أي حسابات أو تعليمات مباشرة.
  2. تتيح لك علامة التبويب "Setters" تعيين أي قيم للمتغيرات التي تم إنشاؤها مسبقًا.
  3. تقوم علامة التبويب "سمات الألعاب" بتخزين كتل من المتغيرات العامة، وتسمح لك، إذا رغبت في ذلك، بإضافة متغيرات جديدة (على الرغم من أننا سننظر في كيفية القيام بذلك بشكل أفضل أدناه).
  4. تمنحنا علامة التبويب "القوائم" القدرة على إنشاء صفائف من البيانات.
  5. يتم استخدام علامة التبويب "الوظائف" لتنظيم الوظائف التي تم إنشاؤها.

خوارزمية إنشاء متغير محلي بسيطة: أولاً، نقوم بإنشاء كتلة جديدة في علامة التبويب "Getters"، ثم نجد المتغير الذي تم إنشاؤه حديثًا في علامة التبويب "Setters" ونضيف كتلة معه إلى مساحة العمل، ونعادلها بـ بعض معلمات اللعبة. هذا كل شيء - تم الإعلان عن المتغير وتلقى مجموعة من القيم الصالحة.

يتم تعيين المتغيرات العامة (سمات اللعبة) في Stencyl للعبة بأكملها ويمكن استدعاؤها في أي حدث أو سلوك. كما ذكرنا سابقًا، يمكنك إنشاؤها في قسم "السمات" في علامة التبويب "سمات اللعبة":

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

لدينا هنا القائمة الكاملة للمتغيرات العامة والقدرة على إنشاء متغيرات جديدة بالنقر فوق الزر "إنشاء جديد". بالنسبة للمتغير الجديد، يمكننا على الفور تعيين النوع (رقمي أو نصي أو منطقي أو مصفوفة) وقيمة البداية دون مغادرة النافذة، وهو أمر مناسب جدًا في رأيي.

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

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

نشر واستيراد وتصدير الألعاب

أخيرًا، تعرفنا، ولو لفترة وجيزة، على المبادئ الأساسية للعمل مع Stencyl. لنفترض أننا أنشأنا لعبة واختبرناها وتبين أن كل شيء يعمل. الآن كل ما تبقى عليك فعله هو تحويل اللعبة من مشروع إلى ملف SWF حقيقي يمكن نشره على الإنترنت. للقيام بذلك، نحتاج فقط إلى فتح قائمة "نشر" والنقر على "فلاش" في قائمة "الويب".

سيبدأ تجميع ملف اللعبة، وبعد ذلك سيُطلب منك أين وتحت أي اسم لحفظ ملف الفلاش الناتج. احفظ وهذا كل شيء - اللعبة جاهزة :).

ستكون العملية العكسية هي استيراد اللعبة. بفضل وظيفة الاستيراد، يمكنك فتح مشاريع الألعاب للمستخدمين الآخرين، على سبيل المثال، لمعرفة كيفية تنفيذ هذه الوظيفة أو تلك؛). يمكنك أيضًا استيراد اللعبة من قائمة "ملف". إذا تم الاستيراد بنجاح، ستظهر اللعبة على الشاشة الرئيسية في قائمة المشاريع. ومع ذلك، هناك تحذير صغير يستحق القيام به هنا.

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

مميزات وعيوب البرنامج

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

الاستنتاجات

من بين جميع برامج إنشاء ألعاب الفلاش الموجودة اليوم، يعد Stencyl الحل الوسط الأكثر منطقية بين سهولة التشغيل واتساع نطاق الإمكانات. والخبر السار هو أن وظيفة المصمم في الإصدار المجاني غير محدودة عمليًا، مما يسمح لك بإدراك أي فكرة بشكل كامل تقريبًا.

ومع ذلك، لا تنسى "تقريبا"... والحقيقة هي أن Stencyl نفسه يعمل على جهاز JAVA، والذي، كما تعلمون، يتطلب موارد كبيرة. إذا أضفنا إلى هذا التحميل الحمل الذي تنشئه اللعبة، فسيتبين أننا نحتاج إلى جهاز كمبيوتر حديث وقوي للتشغيل العادي.

هذا هو الأول "تقريبا". والثاني هو القيد الضمني لعدد الأشياء الموجودة على المسرح، وهو ما ذكرته بشكل عابر. حتى لو كانت هذه الكائنات مجرد مربعات، ولكن هناك الكثير منها، فقد ترمي اللعبة خطأً أثناء الاختبار ولا تبدأ حتى تقوم بتقليل عددها.

لتلخيص ذلك، يمكننا القول أن Stencyl سيكون محركًا مثاليًا لإنشاء جميع أنواع ألعاب الفلاش غير الرسمية وألعاب إطلاق النار الجانبية. علاوة على ذلك، بعد التدرب على إنشاء ألعاب الفلاش، يمكنك شراء أحد أنواع التراخيص، ومن خلال تغيير بسيط في الآليات، يمكنك نقل لعبتك إلى التنسيقات التي يدعمها Android وiOS. وهذه طريقة حقيقية لكسب المال عن طريق نشر لعبة على Play Market أو App Store!

أخيرًا، يبقى فقط أن نتمنى حظًا سعيدًا لجميع أولئك الذين يقررون الانخراط بجدية في تطوير اللعبة. دع خوارزمياتك تعمل في المرة الأولى، ودع المترجم يجلس ويصمت عند تشغيل ألعابك :).

ملاحظة. يُمنح الإذن بنسخ هذه المقالة واقتباسها بحرية، بشرط الإشارة إلى رابط نشط مفتوح للمصدر والحفاظ على تأليف رسلان تيرتيشني.

خطة الوحدة السريعة:
  • منهجية البرمجة
  • برمجة الكائنات
  • الأشياء المادية والافتراضية. كائنات المعلومات
  • مصطلحات أكشن سكريبت
  • لوحة الإجراءات. أوضاع التشغيل
  • ورشة عمل. تحليل البرامج النصية

منهجية البرمجة

تتطلب البرمجة منقبًا محترفًا أن يتمتع بذاكرة مذهلة (للاحتفاظ بجميع تشعبات الخوارزمية في رأسه) ودقة مذهلة (لمنع أدنى خطأ أثناء البرمجة، والذي قد يكون مبررًا في الحياة اليومية). وبعبارة أخرى، يجب أن يكون المبرمج هو نفسه جزء من جهاز كمبيوتر.

احتلت البرمجة مثل هذه المناصب في فجر تطور علم المعلومات الحاسوبي، في فجر البرمجة المنظمة. كان يُنظر إلى المبرمج على أنه شامان. كان أن تصبح مبرمجًا أمرًا صعبًا مثل أن تصبح رائد فضاء، وكان أمرًا مشرفًا تقريبًا.

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

برمجة الكائنات

البرمجة الشيئية (OOP) هي طريقة حديثة لإنشاء رموز البرامج، والتي حلت محل البرمجة المنظمة. وبتعبير أدق، لم تحل البرمجة الكائنية محل البرمجة الهيكلية، بل أوصلتها إلى الكمال المنطقي.

في اللغات الموجهة للكائنات، لا يمكنك إنشاء البيانات فحسب، بل يمكنك إنشاء البيانات بالإضافة إلى الإجراءات (الوظائف):

الكائن = البيانات + الإجراءات (الكائن = الخصائص + الخوارزميات)

أي شيء في علوم الكمبيوتر، كما هو الحال في أي مكان آخر، يسمى أي شيء: رقم، جدول، منفذ، برنامج، زر على الشاشة...

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

عادة، يحدد عالم الكمبيوتر ثلاثة مكونات في الكائن:

  • ما هي المعلومات التي يخزنها الكائن (خصائص الكائن، بيانات الكائن)؟
  • كيف يعالج الكائن المعلومات (خوارزميات الكائن وإجراءات الكائن)؟
  • ما هي المعلومات التي يرسلها ويستقبلها الكائن (أحداث الكائن)؟

دعونا نستكشف جهاز تلفزيون عادي ككائن معلومات.

الخصائص (البيانات):
اللون الفضي؛
قطر الشاشة: 53 سم؛
الوزن: 20 كجم.

الخوارزميات (الإجراءات):
تشغيل/إيقاف: الزر (I)؛
تبديل البرامج: الأزرار (-)، (+) الخاصة بكتلة PRG؛
التحكم بالصوت: الأزرار (-)، (+) الكتلة ¤.

الأحداث:
استقبال تلفزيوني
نقل الصورة والصوت إلى المشاهد.

الأشياء المادية والافتراضية

التلفزيون هو كائن مادي. كلمة "مادة" تعني "حقيقي" موجود في الواقع. جسم التلفزيون مصنوع من البلاستيك، ناعم الملمس. التلفزيون ثقيل جدًا، لا تسقطه على ساقك: سوف يؤلمك. إذا ضربت التلفزيون بمطرقة، فمن المرجح أن ينهار.

تأمل التلفاز الموضح في الصورة في هذه المحاضرة. هذا التلفزيون، بالطبع، ليس تلفزيونًا ماديًا (حقيقيًا). لا يمكن لمسها أو شمها. لا يستطيع أن يسقط على الأرض. التلفزيون الموجود في الصورة هو كائن افتراضي، أي أنه غير حقيقي، وغير موجود في الواقع.

كائنات المعلومات

مفهوم كائن المعلومات مناسب جدًا للمستخدمين.

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

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

لا يمكننا تغيير خصائص التلفزيون، ولكن يمكننا أخذها بعين الاعتبار. ولكن من السهل تغيير خصائص الكائنات الافتراضية.

البرمجة الحديثة موجهة للكائنات. وهذا يعني أن البرنامج الذي سيتم تشغيله على جهاز الكمبيوتر يتم إنشاؤه كمجموعة من كائنات المعلومات.

الكائنات لها خصائص - خلايا ذاكرة لتخزين المعلومات والخوارزميات التي تعالج الأحداث - المعلومات الواردة من كائنات أخرى. لا يحتوي البرنامج المكون من كائنات على خوارزمية واحدة مشتركة، ولكنه يعمل نتيجة لتفاعل المعلومات بين الكائنات.

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

مثيل الكائن والكائن

بشكل عام، تلفزيون معين في مصطلحات OOP ليس كائنًا، ولكنه مثيل لكائن. الكائن عبارة عن مجموعة من الوثائق في المصنع، والتي يتم بموجبها تصنيع أجهزة التلفزيون. جميع أجهزة التلفاز التي تخرج من خط التجميع لها نفس الخصائص ونفس خوارزميات التحكم.

إنه نفس الشيء في البرمجة. الكائن هو قالب. مثيل الكائن هو نسخة عمل.

كائنات Macromedia Flash المحددة مسبقًا. لغة اكشن سكريبت

أولئك الذين بدأوا للتو العمل في Macromedia Flash قد يتوهمون أنه يمكننا تصنيف أي عنصر رسومي في المشهد ككائن. في الواقع، يمكن نقل العناصر الرسومية، أو نسخها، أو حذفها، أو تحويلها، أو ضمها، أو محاذاتها، أو تجميعها... ولها خصائص نحددها أثناء عملية الرسم: اللون، الحجم، الشكل... ومع ذلك، يتم استخدام مصطلح الكائن في لغة برمجة ActionScript بمعنى مختلف. الكائن الأكثر أهمية في Macromedia Flash هو كائن MovieClip.

من أجل الحصول على فكرة عن الكائنات المحددة مسبقًا في Macromedia Flash، دعنا نلقي نظرة عامة مختصرة على بعضها. لاحظ أنه يمكن استخدام هذه الكائنات للوصول إلى أنواع معينة من المعلومات ومعالجتها:

شيء الرياضيات- مجموعة من الثوابت والدوال الرياضية المضمنة: cos (جيب التمام)، sin (sine)، atan (قوس الظل)، abs (القيمة المطلقة للرقم)...
شيء صوت— يتيح لك إضافة أصوات إلى مقطع ما والتحكم بها أثناء تشغيل المقطع. على سبيل المثال، يمكنك ضبط مستوى الصوت (setVolume) أو التوازن (setPan).
شيء الفأر- يسمح لك بإخفاء المؤشر القياسي حتى تتمكن من استخدام مؤشر آخر.
شيء MovieClip- يسمح لك بإدارة المقطع. يحتوي المقطع على خصائص (على سبيل المثال، _height، و_rotation، و_totalframes) وطرق (تشغيل، أوloadMovie، أو duplicateMovieClip).

مصطلحات أكشن سكريبت

مثل أي لغة برمجة نصية، يستخدم ActionScript مصطلحات محددة تتبع قواعد بناء جملة محددة. توفر القائمة التالية مقدمة لأهم مصطلحات ActionScript.

أجراءات(الأوامر) - عبارات تعطي تعليمات للمقطع بما يجب فعله أثناء التشغيل. على سبيل المثال، ينقل gotoAndStop التشغيل إلى إطار محدد.
الحجج(الوسائط)، وتسمى أيضًا المعلمات، تسمح لك بتمرير القيم إلى الوظائف.
الطبقات(الفئات) هي أنواع البيانات التي يمكن إنشاؤها لتحديد أنواع جديدة من الكائنات. لتحديد فئة من الكائنات، يتم إنشاء وظائف المنشئ.
الثوابت(الثوابت) - عناصر غير قابلة للتغيير. على سبيل المثال، ثابت Math.PI دائمًا له قيمة محددة. الثوابت مفيدة لمقارنة القيم.
البنائين(البناة) هي وظائف تستخدم لتحديد خصائص وأساليب فئة ما.
أنواع البيانات(أنواع البيانات) - مجموعة من القيم والعمليات. السلاسل والأرقام وقيم الصواب والخطأ (المنطقية) والمقاطع كلها أنواع بيانات ActionScript.
الأحداث(الأحداث) - الإجراءات التي تحدث أثناء تشغيل المقطع. على سبيل المثال، تحدث أحداث مختلفة عند تحميل مقطع، أو عندما يقوم المشغل بتشغيل إطار، أو ينقر المستخدم على زر في المقطع، أو يضغط على زر على لوحة المفاتيح.
التعبيرات(التعبيرات) - أي أجزاء من البيانات لها قيم. على سبيل المثال، 2 + 2 عبارة عن تعبير.
المهام(الوظائف) هي كتل من التعليمات البرمجية القابلة لإعادة الاستخدام والتي يمكن تمرير الوسائط (المعلمات) ويمكنها إرجاع القيم. على سبيل المثال، تقوم الدالة getProperty بتمرير اسم الخاصية واسم المقطع، ثم تقوم بإرجاع قيمة تلك الخاصية. تقوم وظيفة getVersion بإرجاع إصدار Flash Player الذي يقوم بتشغيل المقطع.
معالجات- الأوامر الخاصة التي تتحكم في الأحداث مثل mouseDown أو التحميل.
معرفات(المعرفات) - الأسماء المستخدمة لتحديد المتغيرات والخصائص والكائنات والوظائف والأساليب. يجب أن يكون الحرف الأول حرفًا أو شرطة سفلية (_) أو علامة الدولار ($). يجب أن يكون أي حرف لاحق حرفًا أو شرطة سفلية (_) أو رقمًا أو علامة الدولار ($). على سبيل المثال، اسم المتغير هو الاسم الأول.
المثيلات(مثيلات) - كائنات تنتمي إلى فئة معينة. يحتوي كل مثيل لفئة على كافة خصائص وأساليب تلك الفئة. جميع المقاطع هي مثيلات ذات خصائص (مثل _alpha و_visible) وأساليب (مثل gotoAndPlay وgetURL) لفئة MovieClip.
أسماء المثيلات- أسماء فريدة تسمح لك بتحديد نسخة مقطع في البرامج النصية. على سبيل المثال، قد يتم تسمية الرمز الأصلي في المكتبة بالعداد، وقد يتم تسمية مثيليه ScorePlayer1 وscorePlayer2.
الكلمات الدالة(الكلمات الرئيسية) هي كلمات محجوزة لها معنى خاص. على سبيل المثال، var هي كلمة أساسية تستخدم للإعلان عن المتغيرات المحلية.
طُرق(طرق) - الوظائف المتأصلة في الكائن. بمجرد تعريف الدالة، يمكن استدعاؤها كأسلوب على ذلك الكائن.
أشياء(الأشياء) هي مجموعات من الخصائص، لكل منها اسمها وقيمتها الخاصة. توفر الكائنات الوصول إلى أنواع مختلفة من البيانات. على سبيل المثال، يوفر كائن التاريخ المحدد مسبقًا معلومات من ساعة النظام.
العاملين(العوامل) - حساب القيم الجديدة من قيمة واحدة أو أكثر. على سبيل المثال، يضيف عامل الإضافة (+) قيمتين أو أكثر لإنتاج قيمة جديدة.
ملكيات(خصائص) - السمات التي تحدد الكائن. على سبيل المثال، _visible هي خاصية لجميع المقاطع التي تحدد ما إذا كان المقطع مرئيًا أم لا.
المتغيرات(المتغيرات) - المعرفات التي تحتوي على قيمة أي نوع بيانات. يمكن إنشاء المتغيرات وتعديلها وتحديثها. يمكن الاستعلام عن القيم التي تحتوي عليها لاستخدامها في البرنامج النصي.

إن إمكانيات لغة ActionScript شاملة جدًا لدرجة أنه من غير الواقعي تغطيتها ضمن نطاق هذه الدورة، لذلك سنقتصر على وصف المفاهيم الأساسية للغة والقواعد العامة لبناء البرامج النصية في ActionScript.

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

لوحة الإجراءات

تسمح لك لوحة الإجراءات بإنشاء وتحرير البرامج النصية للكائنات (المقاطع والأزرار)، بالإضافة إلى الإطارات الرئيسية. يمكنك تحديد أوامر محددة مسبقًا من قائمة الأوامر - قائمة Toolbox (على الجانب الأيسر من اللوحة)، واسحبها إلى الجانب الأيمن من اللوحة؛ استخدم الأزرار الموجودة أعلى حقل النص لتحديد أمر وحذفه وإعادة ترتيب الأوامر.

في الوضع العادي(الوضع العادي) يمكنك كتابة الأوامر باستخدام حقول المعلمات (الوسيطة).

في وضع الخبراء(الوضع الخبير) يمكنك كتابة الأوامر وتحريرها مباشرة في حقل النص، كما هو الحال في محرر النصوص العادي.

أثناء إنشاء برنامج نصي عن طريق تحديد الأوامر من القائمة، يجب عليك الانتباه إلى حقيقة أن هذه الأوامر منظمة في فئات:

أجراءات(الأوامر) - إجراءات لغة ActionScript "عالمية" بطبيعتها، أي مستقلة عن خصائص فئة الكائنات (على عكس أساليب الكائنات التي تنتمي إلى فئة معينة)؛ تتضمن هذه الفئة أيضًا عوامل التحكم المنطقية التقليدية لمعظم لغات البرمجة عالية المستوى (التحقق من الشروط المنطقية، وتنظيم الحلقة، وما إلى ذلك).

العاملين(العوامل) - عوامل العمليات المنطقية والحسابية (الجمع والطرح والمقارنة وما إلى ذلك).

المهام(الوظائف) - وظائف (مكتبة) محددة مسبقًا (على سبيل المثال، تتضمن وظيفة للتحقق من رقم إصدار مشغل Flash).

ثابت(الثوابت).

ملكيات(خصائص) - خصائص الكائنات التي لا تعتمد على الفئة (على سبيل المثال، مستوى شفافية الصورة).

أشياء(الكائنات) - كائنات محددة مسبقًا يمكن استخدامها في البرنامج النصي (على سبيل المثال، يوجد كائن للعمل مع التاريخ والوقت)؛ يتضمن هذا القسم أيضًا فئات الكائنات المخصصة.

إهمال(مهمل) - بنيات لا يوصى باستخدامها في البرامج النصية (لأنها قديمة).

مكونات واجهة فلاش(مكونات واجهة المستخدم).

بالإضافة إلى الأقسام المدرجة، تحتوي قائمة "مربع أدوات الإجراء" أيضًا على قسم فِهرِس، والذي يحتوي على قائمة أبجدية بجميع مكونات اللغة.

تسليط الضوء والتحقق من بناء الجملة

يقوم نظام تمييز بناء الجملة بتلوين عناصر معينة من ActionScript بألوان مختلفة.

يتم تمييز الكلمات الأساسية والمعرفات المحددة مسبقًا (على سبيل المثال، gotoAndStop، وplay، وstop) باللون الأزرق الداكن.

يتم تمييز التعليقات باللون الرمادي الفاتح.

الخطوط المحاطة بعلامات الاقتباس باللون الأزرق الساطع.

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

للتحقق من وجود أخطاء في البرنامج النصي الحالي، يجب عليك استخدام القسم تحقق من بناء الجملةمن القائمة المنسدلة الموجودة في الركن الأيمن العلوي من لوحة الإجراءات أو الزر المقابل (علامة الاختيار الزرقاء في وضع الخبير).

ورشة عمل. تحليل البرامج النصية
الفيديو رقم 1

إليك مقطع فيديو متواضع جدًا يتم فيه تنظيم عمل الارتباطات التشعبية. كتلة النص الموجودة في الفيديو هي نص ثابت، والتي تم تحديد الخصائص التالية لها في لوحة الخصائص:

إلى القسم رابط URLيتم تسجيل عنوان الوثيقة. في الفصل هدفتحدد النافذة أو الإطار الذي يجب تحميل المستند المطلوب فيه. في هذا الفيديو، سيتم تحميل المستند في نافذة متصفح جديدة.

نقوم بإنشاء برنامج نصي للزر باستخدام لوحة الإجراءات. للقيام بذلك، حدد الزر باستخدام أداة السهم وقم بتوسيع لوحة الإجراءات.

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

معامل نافذة او شباكيحدد النافذة أو الإطار الذي يجب تحميل المستند المطلوب فيه. يتم تحديد قيمة المعلمة باستخدام القائمة المنسدلة التي تحتوي على الخيارات التالية (وهي مشابهة لقيم السمة المستهدفة للعلامة في HTML):

_الذات— سيتم تحميل المستند في النافذة أو الإطار الحالي؛
_فارغ— سيتم تحميل المستند في نافذة جديدة؛
_الأبوين— سيتم تحميل المستند في الإطار الأصلي أو الإطار الحالي؛
_قمة- سيتم تحميل المستند في إطار بمستوى تسلسل هرمي أعلى أو في النافذة الحالية.

إذا لزم الأمر، يمكن الحصول على قيمة هذه المعلمة نتيجة لحساب التعبير. في هذه الحالة، حدد المربع تعبير(التعبير) الموجود على يمين قائمة النوافذ.

معامل المتغيراتيسمح لك بتحديد كيفية إرسال البيانات إلى عنوان URL معين. يتم تحديد قيمة المعلمة من القائمة المنسدلة التي تحتوي على ثلاثة خيارات:

لا ترسل(لا ترسل) - نقل البيانات غير مطلوب؛
أرسل باستخدام GET(إرسال باستخدام GET) - سيتم استخدام طريقة GET لإرسال البيانات؛
أرسل باستخدام POST(إرسال باستخدام POST) - سيتم استخدام طريقة POST لإرسال البيانات.

اسمحوا لي أن أذكرك أن الاختلاف في استخدام طريقتي GET وPOST لإرسال البيانات إلى الخادم هو أنه مع أولهما، يتم إلحاق البيانات المرسلة بسطر العنوان. نظرًا لأن طول العنوان يقتصر على 256 حرفًا، فإن كمية البيانات المرسلة تكون محدودة أيضًا.

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

بالنسبة للأزرار، المعالج له اسم على، وللمقاطع - onClipEvent. يسبق اسم المعالج قائمة الأحداث التي يجب أن يستجيب لها المعالج. على سبيل المثال التصميم:
على (الإصدار، الضغط على المفتاح: "A")
يعني أن المعالج يجب أن يستجيب لنوعين من الأحداث: التحرير (يتم تحرير زر الماوس) وKeyPress: "A" (يتم الضغط على المفتاح "A" على لوحة المفاتيح).

تتوفر أنواع الأحداث التالية للأزرار في ActionScript:

يضعط— يضغط المستخدم على زر الماوس عندما يكون المؤشر فوق صورة الزر (الفيلم).

يطلق— يقوم المستخدم بالضغط على زر الماوس ثم تحريره (يوجد المؤشر أعلى صورة الزر).

الافراج عن الخارج- يقوم المستخدم بتحرير زر الماوس عندما لا يكون المؤشر فوق صورة الزر.

ضغط المفتاح— يقوم المستخدم بالضغط على مفتاح معين في لوحة المفاتيح؛ لهذا الحدث، يجب عليك بالإضافة إلى ذلك تحديد مفتاح.

يتدحرج- يقوم المستخدم بتحريك المؤشر فوق صورة الزر.

طرح- يقوم المستخدم بتحريك المؤشر خارج صورة الزر.

سحب أكثر- يقوم المستخدم بالضغط على زر الماوس عندما يكون المؤشر فوق الزر، ويحركه خارج الزر، ثم يضعه مرة أخرى فوق الزر.

زحف- يقوم المستخدم بالضغط على زر الفأرة أثناء وجود المؤشر فوق الزر ثم يقوم بتحريك المؤشر خارج الزر.

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

وأخيرًا، هناك إطار واحد فقط وطبقة واحدة تعمل في الفيديو.

الفيديو رقم 2

في هذا الفيديو، سوف نتعلم كيفية كتابة إجراءات للزر والإطار والمقطع.

للعمل بشكل مريح في الفيديو، يجب عليك إنشاء ثلاث طبقات.

طبقة فعل. في هذه الطبقة، كما هو الحال في جميع الطبقات الأخرى، يوجد إطار واحد فقط، وهو فارغ، وهو الإطار الرئيسي وتم تعيين برنامج نصي له:

Fscommand("showmenu", "false"); fscommand("ملء الشاشة"، "صحيح")؛

تحدد هذه الخطوط سلوك الفيديو الخاص بك أثناء التشغيل. يتيح لك السطر الأول إزالة القائمة الموجودة في المشغل (وهذا مهم جدًا عندما يكون الفيديو الخاص بك عبارة عن برنامج اختبار، ويجب حرمان المستخدم من حق الرجوع إلى الوراء Control > Step Back). يقوم السطر الثاني بتوسيع الفيديو الخاص بك إلى وضع ملء الشاشة. لتتمكن من كتابة هذه السطور، عليك الوقوف على هذا الإطار والانتقال إلى فئة Actions > Browser/Network > fscommand.

طبقة البطريق. تحتوي هذه الطبقة على كتل من النص الثابت والديناميكي وزر ومقطع. يتم تمييز كتل النص الثابت باللون الأخضر، ويتم تمييز كتل النص الديناميكي باللون الأحمر.

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

على سبيل المثال، في هذا الفيديو، تم تسمية الكتلة الديناميكية الموجودة مقابل النص الثابت "عرض المثيل" بالاسم ث، على سبيل المثال الارتفاع ح، اسم المثيل نإحداثيات نقطة تسجيل المثيل كتلتين سو ذ. يرجى ملاحظة أن Flash يسلط الضوء على كتل النص الديناميكي بخط منقط.

ثانيًا، لنقم بإنشاء مقطع يتم فيه وضع العنصر الرسومي - البطريق. في هذا الفيديو، هذه الرسومات مستوردة بتنسيق wmf. بعد استيراد الرسومات، استخدم أمر التحويل إلى رمز وقم بتحويله إلى مقطع (رمز مثل Movie Clip)، دعنا نسميه، على سبيل المثال، penguin_vl. سيتم وضع المقطع تلقائيًا في مكتبة الفيديو، ولكن يجب إزالته من المنصة. الخطوة التالية هي إنشاء مقطع جديد. دعونا نستخدم أمر الرمز الجديد ونسمي هذا المقطع penguin_or. في الإطار الأول من هذا المقطع، باستخدام مكتبة الفيديو، ضع مثيلًا لمقطع penguin_vl (سنقوم بكتابة البرنامج النصي له لاحقًا). أضف إطارًا رئيسيًا آخر إلى المقطع.

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

OnClipEvent (تحميل) ( setProperty("_root.penguin", _alpha, Random(50)+50); )

فريق setPropertyيسمح لك بتغيير خاصية مثيل المقطع أثناء تشغيل المقطع. دعنا نحاول فهم بناء الجملة باستخدام تنسيق الأمر العام:

setProperty(target, property, Express);

هدف- هذا هو المسار إلى مثيل المقطع الذي تحتاج خصائصه إلى تغيير (_root.penguin، بمعرفة المسار إلى المثيل، نشير إليه بالاسم الذي قمنا بتعيينه له في لوحة الخصائص).

ملكية— الخاصية التي تحتاج إلى تغيير (_alpha، في حالتنا هذه هي شفافية المثيل).

تعبير— القيمة المخصصة للخاصية (عشوائي(50)+50، رقم عشوائي من 50 إلى 100). تأكد من تحديد خانة الاختيار التعبير. حيث يجب الحصول على قيمة هذه المعلمة نتيجة لتقييم التعبير.

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

وأيضاً لماذا يوجد قبل إسم النسخة مكتوباً على المسرح؟ _جذر?

عند استخدام الأمر setProperty لتحديد المسار إلى كائن ما، ستحتاج إلى الرجوع إلى الزر أدخل مسارًا مستهدفًا(هذا الزر يشبه علامة التقاطع). في هذه الحالة، سيتم فتح نافذة إدراج مسار الهدف أمامك، والتي يمكنك من خلالها وصف مسار الوجهة (أي العنوان).


تحتوي هذه النافذة على عناصر الواجهة الرئيسية التالية:

شجرة أفلام تعكس التسلسل الهرمي لكائنات الفيلم التي يمكن الوصول إليها من البرنامج النصي.

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

يعتمد العنصر الجذري للشجرة على طريقة العنونة: بالنسبة للعنوان المطلق، فهذه كلمة أساسية _جذر(أي الفيلم الرئيسي)، بالنسبة للكلمة النسبية هذا(أي مخطط التوقيت الحالي).

حقل نص متعدد الأسطر هدف(الوجهة)، مخصصة للدخول وضبط مسار الوجهة؛ إذا قمت بتحديد عنصر في شجرة الفيلم، فسيظهر المسار المقابل في حقل الهدف، والذي يمكن تغييره أو استكماله يدويًا.

زوج من المفاتيح وضع(الوضع)، والذي يتيح لك تحديد طريقة العنونة (نسبي - نسبي أو مطلق - مطلق). الافتراضي هو معالجة نسبية.

زوج من المفاتيح الرموز(التدوين) الذي يسمح لك بتحديد تنسيق تدوين مسار الوجهة: خيار النقاط(النقاط) تعني استخدام التدوين النقطي؛ خيار مائلة(الشرطة المائلة) تتطابق مع التدوين باستخدام الخطوط المائلة (هذا هو النمط "القديم" المستخدم للتوافق مع الإصدارات السابقة من ActionScript). عند استخدام الخطوط المائلة، يكون تنسيق التدوين هو نفس التنسيق المستخدم لكتابة عناوين URL في مستندات HTML.

دعونا نواصل العمل على الفيديو.

تحتاج إلى وضع زر على نفس الطبقة. في هذا الفيديو استخدمت مكتبة الفلاش.

نقوم بتعيين برنامج نصي للزر:

تشغيل (الإصدار) ( w = getProperty(_root.penguin, _width); n = getProperty(_root.penguin, _name); h = getProperty(_root.penguin, _height); x = getProperty(_root.penguin, _x); y = getProperty(_root.penguin, _y);

وظيفة getPropertyتقوم بإرجاع قيمة الخاصية المحددة للمقطع المحدد. دعنا نحاول فهم بناء الجملة باستخدام تنسيق الأمر العام:

getProperty(instancename, property);

اسم المثيل- اسم مثيل المقطع الذي تريد الحصول على ممتلكاته.

ملكية- مقطع اسم الخاصية.

لتعيين القيمة المحسوبة بواسطة الدالة، يتعين عليك الانتقال إلى فئة الإجراء > المتغيرات > تعيين المتغير.

طبقة رامكا. هذه هي طبقة الزخرفة.

اختبر الفيديو وقم بإجراء التصحيحات إذا لزم الأمر. تجربة مع الخصائص.

الواجب المنزلي: أساسيات البرمجة في Macromedia Flash MX

ستتضمن الواجبات المنزلية لهذه الدورة بعض الأمثال الرائعة.

معرفتنا مثل الكرة؛ كلما كبرت، زادت نقاط اتصالها بالمجهول.
إفريموف إيفان أنتونوفيتش

تكرار مقاطع الفيديو المقدمة في هذه المحاضرة.

قم بإرسال مهمتك المكتملة كملفات بتنسيق FL (إذا تجاوز حجم الملف الإجمالي 150 كيلو بايت، يرجى أرشفة الملفات) وإرسالها إلى المعلم.

اختبار: أساسيات البرمجة في برنامج Macromedia Flash MX

تشتمل مواد الاختبار على أسئلة تسمح لك باختبار قوة المعرفة المكتسبة أثناء العمل في الوحدة الأولى من الدورة.
تم إنشاء الاختبار في Macromedia Flash MX وهو عبارة عن فيلم فلاش تفاعلي:

دوبي فلاش توميلوفا إيلينا أناتوليفنا

المحاضرة 8 . البرمجة فيفلاش

يخطط

مقدمة

لإضافة التفاعل إلى مقاطع الفيديو،فلاش لديه لغة برمجة داخليةأكشن سكريبت.

أكشن سكريبت هي لغة برمجة يتم من خلالهافلاش يتم إرسال الأوامر والطلبات الخاصة بتبعيات الوقت ومقاطع الفيديو والأزرار والكائنات الأخرى.

لغة اكشن سكريبت تم إنشاؤها على أساس معيار ECMA-262، والذي بدوره يعتمد على اللغةجافا سكريبت. في الأساس أكشن سكريبت هو مجموعة متنوعةجافا سكريبت وتكييفها وتحسينها للعمل في البيئةفلاش.

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

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

لاستخدام الإجراءاتأكشن سكريبت ، لست بحاجة إلى أن تكون مبرمجًا. بالطبع، ستكون تجربة البرمجة مفيدة عند إنشاء سيناريوهات معقدة. ومع ذلك، الخبرة السابقة ليست مطلوبة عند كتابة البرامج النصية لـ ActionScript. لتحديد الإجراءات وربطها بكائنات الفيلم، قدم منشئو Flash واجهة بسيطة وبديهية - لوحة Actions. باستخدام هذه اللوحة، يمكنك الوصول إلى مكتبة أوامر ActionScript، والتي تتيح لك توفير الوقت بشكل كبير عند إدخال رمز البرنامج النصي.

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

على (اضغط)(

gotoAn d Play("nextStop")

في هذا السيناريو، عند حدوث حدث الضغط، سينتقل رأس التشغيل إلى الإطار المسمى nextStop وسيستمر التشغيل من تلك النقطة. بمعنى آخر، يؤدي الحدث إلى تشغيل إجراء يغير الترتيب الذي يتم به تشغيل الفيلم.

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

باستخدام ActionScript يمكنك ذلك

  • التحكم في تقدم تشغيل الفيلم؛
  • إنشاء رسوم متحركة برمجياً، دون استخدام جدول زمني؛
  • تلقي البيانات من المستخدم؛
  • تحميل البيانات من الملفات.
  • أصوات التحكم
  • ... وأكثر بكثير.

في أدوبي فلاش الإصدار 9.0 (CS3) لغة البرمجة الرئيسية هيأكشن سكريبت 3.0 ومع ذلك، فإن الدراسة في المرحلة الأولية معقدة للغاية ولن نأخذها في الاعتبار.

وفي الوقت نفسه، فإن الإصدار القديم "البسيط" مدعوم أيضًا باللغةأكشن سكريبت 2.0 ، والتي سوف نستخدمها.

تذكر أنه عند إنشاء ملفات FLA جديدة، يجب عليك دائمًا تحديد نوع المستندملف فلاش (أكشن سكريبت 2.0).

يسمى برنامج ActionScript بالبرنامج النصي. . ويتكون من كتل منفصلة من التعليمات البرمجية التي يمكن ربطها بعناصر معينة من الفيلم:

  • الإطارات الرئيسية، يتم تنفيذ الكود في كل مرة يتم فيها تشغيل هذا الإطار؛
  • أزرار أو مقاطع ، يتم تنفيذ الكود عند حدوث شيء ما

لاستخدام الأنشطة لكتابة نصوص الأفلامفلاش ، يجب عليك أولاً دراسة اللوحةأجراءات.

التعرف على لوحة الإجراءات (أجراءات)

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

لفتح لوحة أو توسيعهاأجراءات ، قم بأحد الإجراءات التالية:

  • من قائمة النافذة (نافذة) اخترأجراءات؛
  • اضغط على المفتاح< F9>.

بعد ذلك، ستظهر لوحة أو تتوسع على الشاشةأجراءات (أجراءات). إذا كانت هذه اللوحة مفتوحة ولكن مخفية بنافذة أخرى، فسوف تتحرك إلى الأمام.

يحتوي على قائمة منسدلة للفئة تتيح لك الوصول إلى مكتبة ActionScript. بمجرد تحديد الإجراء المناسب، يمكنك استخدام الماوس لسحبه إلى منطقة عرض البرنامج النصي.

منطقة عرض البرنامج النصييعمل على عرض كافة أسطر البيان للبرنامج النصي الحالي.

يسمح لك بالتبديل بين السيناريوهات المرتبطة بعناصر مختلفة من الفيلم. عندما تحدد عنصرًا في النطاق يمكن التحكم فيه بواسطة برنامج نصي، فإن لوحة الإجراءات تتحول تلقائيًا إلى عرض البرنامج النصي المرتبط بهذا العنصر.


العمل مع إجراءات الكائن

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

من المهم أن تتذكر أنه يتم تخزين الأزرار والمقاطع في مكتبة Flash كملفاتالشخصيات. في كل مرة يتم فيها استخدام الرموز في الفيلم، يتم بالفعل استخدام نسخة منفصلة من الرمز، أوينسخ.

يمكن اعتبار المثيل بمثابة نسخة من الرمز. لن يؤثر أي تغيير يتم إجراؤه على أحد المثيلات على الرمز الأصلي أو المثيلات الأخرى لهذا الرمز. وينطبق نفس المبدأ عند ربط الإجراءات بمثيل الرمز. لن يتم تنفيذ أي إجراء مرتبط بمثيل رمز إلا عند استخدام المثيل في الفيلم. وهذا يعني أن الإجراءات ترتبط فقط بمثيل رمز محدد.

ومع ذلك، لا يتم تنفيذ أي إجراء إلا عند حدوث نوع معين من الأحداث في الفيلم. في ActionScript (والعديد من اللغات الأخرى الموجهة للكائنات)، يتم التحكم في الإجراءات من خلالمعالجات الأحداث.

استخدام الإجراءات

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

تُستخدم الإجراءات للتحكم في تخطيط التشغيل والخصائص التفاعلية وتدفق الفيلم واتجاهه. باختصار، يمكن استخدام الإجراء لتحديد ترتيب التشغيل بدقة بالإضافة إلى استجابة الفيلم لإدخال المستخدم. بفضل الإجراءاتفلاش أقل شبهاً ببرنامج الرسوم المتحركة وأشبه ببيئة لتطوير تطبيقات الوسائط المتعددة التفاعلية.

بعض الإمكانيات التي يتمتع بهافلاش بفضل استخدام الإجراءات:

  • إنشاء أنظمة تنقل معقدة وتفاعلية.
  • تغيير جودة تشغيل الفيلم.
  • التواصل مع مستندات HTML المستضافة على الإنترنت وتبادل البيانات مع تطبيقات الخادم.
  • تبادل البيانات مع التطبيقات المضيفة أو أفلام فلاش الأخرى.
  • قم بتشغيل أفلام أخرى داخل الفيلم الرئيسي.

القدرة على التحكم في المشاهد باستخدام نصوص ActionScript

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

بعض الإجراءات التي يمكن استخدامها للتحكم في المشاهد.

  • gotoAndPlay() . يؤدي استدعاء الإجراء gotoAndPlay() إلى انتقال رأس التشغيل إلى مشهد وإطار محددين. يستمر الفيلم من هذا الإطار.
  • gotoAndStop(). عند استدعاء هذا الإجراء، ينتقل إلى مشهد وإطار محدد ويتوقف عن تشغيل الفيلم.
  • يلعب() . يتيح لك هذا الإجراء مواصلة تشغيل الفيلم بعد التوقف.
  • قف() . يتيح لك هذا الإجراء إيقاف تشغيل الفيلم.

أحداث الماوس

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

لتعيين معالج أحداث الماوس أو تغييره، اتبع الخطوات التالية.

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

أسماء وأوصاف أحداث الفأرة في اللغةأكشن سكريبت:

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

العمل العملي رقم 21. العمل مع إجراءات الإطار

  1. إنشاء ملف جديدوثيقة فلاش.
  2. في المرحلة 1، قم بإنشاء رسم متحرك.
  3. أضف المشهد 2 وقم بإنشاء رسم متحرك لهذا المشهد.
  4. انتقل إلى المشهد 1، أضف طبقة وقم بالطلاءانتقال العمل إلى المشهد 2.

  1. في المشهد 2 أو المشهد الأخير من مشروعك، ضع زرًا، عند النقر عليه، سيفتح المشهد 1.

  1. احفظ الملف تحت اسم Lastname_21.fla.
  2. النشر بتنسيق .swf
  3. وإرسالها في أرشيف واحد.


العمل العملي رقم 22. عدة إجراءات في سيناريو واحد

  1. إنشاء ملف جديدوثيقة فلاش.
  2. على الطبقة الأولى في الإطار الأول سنكتب الأمرقف() ، بحيث لا تبدأ الرسوم المتحركة، أي. لم يحدث أي إجراء.

  1. قم بإنشاء الطبقة 2. بدءًا من الإطار 2 إلى الإطار 31، قم بإنشاء رسم متحرك سيتم تشغيله عند الضغط على زر الماوس.

  1. في الإطار 31، قم بضبط الرسوم المتحركة على التوقف حتى لا يحدث أي إجراء.
  2. أضف الطبقة 3. بدءًا من الإطار 32 إلى الإطار 62، قم بإنشاء رسم متحرك عند تحرير الزر.

  1. أضف الطبقة 4. ثم ضع زرًا عليها. واكتب الأفعال:

على (اضغط) (

GotoAndPlay(2); // عندما تضغط على الزر، ستحدث الإجراءات بدءًا من الإطار 2

في حالة الإطلاق) (

gotoAndPlay(32); // ستحدث الإجراءات بدءًا من الإطار 32 عند تحرير الزر

  1. اختبار البرنامج.
  2. احفظ الملف تحت اسم Lastname_22.fla.
  3. النشر بتنسيق .swf
  4. وإرسالها في أرشيف واحد.

استخدام الإجراءات لإنشاء عناصر تحكم أساسية في تشغيل الفيلم

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

فئة فرعية للتحكم في مقطع الفيلم

  • مجموعة الملكية () . ضبط سمات المقطع: الأبعاد، والموضع، وما إلى ذلك.
  • onClipEvent() . يحدد معالج حدث المقطع الذي سيقوم بتشغيل الإجراء.
  • على() . يحدد معالج حدث الماوس الذي سيؤدي إلى تنفيذ بعض الإجراءات.

التحكم في الجدول الزمني للفئة الفرعية

  • gotoAndPlay() . ينتقل إلى الإطار أو المشهد المحدد كمعلمة ويقوم بتشغيل الفيلم من تلك النقطة.
  • gotoAndStop() . للانتقال إلى الإطار أو المشهد المحدد كمعلمة وإيقاف الفيلم.
  • يلعب() . تشغيل فيلم.
  • قف() . أوقف الفيلم.
  • إيقاف AllSounds() . قم بإيقاف تشغيل صوت الفيلم.

متصفح/شبكة الفئة الفرعية

  • أمر فس () . إدارة تطبيق Flash Player.
  • الحصول على URL () . اتصل بفيلم بعنوان URL المحدد.
  • إلغاء تحميل الفيلم () . تحميل أفلام فلاش أخرى.

رابط إلى URL

استخدام الإجراءالحصول على URL () يمكنك الارتباط بعنوان URL مباشرةً من فيلم Flash. يتيح لك الارتباط بعنوان URL القيام بأمرين. أولاً، يمكنك استخدام Flash لإنشاء رابط ويب وتحميل المعلومات إلى نافذة المتصفح لديك من المصدر الذي يطابق عنوان URL المحدد. ثانيًا، يمكن استخدام الإجراء لتمرير البيانات إلى مورد موجود على عنوان URL محدد.

لربط الإجراءالحصول على URL () ، عليك القيام بما يلي.

  1. حدد الزر أو الإطار أو مثيل المقطع الذي تريد ربط الإجراء به.
  2. افتح لوحة الإجراءات.
  3. في منطقة العناصرأكشن سكريبت فئة فرعية مفتوحةالمتصفح/الشبكة وانقر مرتين على أيقونة الإجراء getURL(). إجراء getURL() يحتوي على ثلاث معلمات يجب تحديدها: URL،النافذة والمتغيرات (المتغيرات). هناك أيضًا خيار استخدام تعبير يصف موقع عنوان URL. للقيام بذلك تحتاج إلى تحديد المربعتعبير (التعبير) على يمين حقل URL.
  4. في حقل عنوان URL، يجب عليك إدخال مسار مطلق أو نسبي للمورد. يتضمن المسار المطلق عنوان URL الكامل، مثل http://www.ذلك - ن . رو . يحتوي المسار النسبي على معلومات حول موقع الملف داخل بنية الملف حيث يتم تخزين فيلم Flash، مثل هذا:المجلد الحالي/المجلد/المجلد ().
  5. قائمة منسدلةنافذة او شباك يسمح لك بتحديد النافذة التي سيقوم المتصفح بتحميل المستند المشار إليها بواسطة عنوان URL. يمكنك إدخال اسم إطار أو نافذة معينة، أو إدخال تعبير يصف موقع النافذة، أو تحديد أحد عناصر القائمة المنسدلة التالية.
  • _الذات . يتم تحميل المستند في النافذة الحالية حيث يتم تشغيل الفيلم حاليًا.
  • _فارغ . يتم تحميل المستند في نافذة جديدة.
  • _الأبوين . يشير هذا العنصر إلى النافذة الحالية ويسمح لك باستبدال الإطار الذي يتم تشغيل الفيلم فيه حاليًا فقط.
  • _قمة . يكون هذا العنصر مفيدًا عند تشغيل الفيلم في إطار، ويجب أن يملأ المستند الجديد المشار إليه بواسطة عنوان URL نافذة المتصفح بأكملها.
  1. يتم استخدام القائمة المنسدلة "المتغيرات" لتمرير المتغيرات إلى عنوان URL الذي ترتبط به.
  • لا ترسل (لا تنقل). يتم تثبيت هذا العنصر افتراضيًا ويستخدم في الحالات التي لا تكون فيها هناك حاجة لتبادل البيانات.
  • أرسل باستخدام GET (النقل باستخدام طريقة GET). يتم تحديد عنصر القائمة هذا في الحالات التي يكون فيها من الضروري نقل عدة متغيرات وتكون كمية البيانات المنقولة صغيرة.
  • أرسل باستخدام البريد (النقل باستخدام طريقة POST). يتم تحديد عنصر القائمة هذا في الحالات التي يكون فيها من الضروري إرسال كمية كبيرة من المعلومات.

العمل العملي رقم 23. وضع روابط للصور

  1. إنشاء ملف جديدوثيقة فلاش.
  2. استيراد كافة الصور اللازمة للأزرار المستقبلية (السيطرة + ص).
  3. حدد الصورة الأولى وانقر F8 . تحويله إلى زر.

  1. انقر مرتين على مقطع الفيلم.
  2. انقر الآن على الإطار الذي يحمل العنوان Over وأضف إطارًا بالضغط على F6.

  1. قم بإنشاء طبقة جديدة وانقر على الإطار الذي يحمل العنوان Over وأضف إطارًا (F6). ثم استخدم أداة المستطيل (R) لتحديد الصورة.

  1. ارجع إلى المشهد الرئيسي واستخدم أداة التحديد (V) للنقر على الزر، ثم اضغط على F9 وأدخل رمز AS التالي:

  1. كرر جميع الخطوات السابقة للصور الأخرى.
  2. اختبار البرنامج.
  3. احفظ الملف تحت اسم Lastname_23.fla.
  4. النشر بتنسيق .swf
  5. وإرسالها في أرشيف واحد.

يمارس

قم بإنشاء عرض تقديمي حول موضوع مجاني باستخدام مادة الدرس.

الأدب

  1. هورويتز، مايكل، مكابي،لورا. باستخدام ماكروميديا ​​​​فلاش MX. طبعة خاصة.: لكل. من الانجليزية م: دار النشر "ويليام"، 2003. 704 ص: مريض. بالتوازي. حلمة الثدي. إنجليزي
  2. واترال إي، جربر إن. العمل الفعال:فلاش ام اكس . سانت بطرسبرغ: بيتر؛ كييف: DHV، 2003. 720 ص: مريض.
  3. http://www.interface.ru/

صفحة 1

منطقة عنصر ActionScript

القائمة المنسدلة للسيناريو

منطقة عرض البرنامج النصي