كيف تصنع لعبة فلاش: 4 خطوات (بالصور)

جدول المحتويات:

كيف تصنع لعبة فلاش: 4 خطوات (بالصور)
كيف تصنع لعبة فلاش: 4 خطوات (بالصور)
Anonim

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

خطوات

جزء 1 من 3: بدء العملية

381698 1
381698 1

الخطوة 1. صمم لعبتك

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

  • عدو لا نهاية له: تحرك هذه الألعاب الشخصية تلقائيًا ، ويكون اللاعب مسؤولاً عن القفز فوق العقبات أو التفاعل مع اللعبة بطريقة أخرى. عادة ما يكون لدى اللاعب خيار واحد أو خياران فقط عندما يتعلق الأمر بعناصر التحكم.
  • المشاكسون: هم عادة تمرير جانبي ويكلفون اللاعب بهزيمة الأعداء للتقدم. غالبًا ما يكون لشخصية اللاعب العديد من الحركات التي يمكنهم القيام بها لهزيمة الأعداء.
  • الألغاز: تطلب هذه الألعاب من اللاعب حل الألغاز للتغلب على كل مستوى. يمكن أن تتراوح هذه من أسلوب Match-3 مثل Bejeweled إلى حل الألغاز الأكثر تعقيدًا الموجود عادةً في ألعاب Adventure.
  • RPGs: تركز هذه الألعاب على تطوير الشخصية والتقدم ، وجعل اللاعب يتحرك عبر بيئات متعددة مع مجموعة متنوعة من أنواع الأعداء. تختلف ميكانيكا القتال بشكل كبير من آر بي جي إلى آر بي جي ، لكن العديد منها تعتمد على الأدوار. يمكن أن يكون ترميز ألعاب تقمص الأدوار أكثر صعوبة من كتابة لعبة الحركة البسيطة.
381698 2
381698 2

الخطوة 2. تعلم ما الذي يتفوق فيه Flash

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

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

381698 3
381698 3

الخطوة الثالثة. تعرف على لغة ActionScript3 (AS3)

تمت برمجة ألعاب الفلاش في AS3 ، وستحتاج إلى بعض الفهم الأساسي لكيفية عملها من أجل إنشاء لعبة بنجاح. يمكنك إنشاء لعبة بسيطة بفهم أولي لكيفية البرمجة في AS3.

هناك العديد من الكتب حول ActionScript متوفرة في Amazon والمتاجر الأخرى ، إلى جانب عدد كبير من البرامج التعليمية والأمثلة عبر الإنترنت

381698 4
381698 4

الخطوة 4. تنزيل برنامج Flash Professional

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

برنامج Flash Professional هو البرنامج الوحيد الذي ستحتاجه لبدء إنشاء الألعاب

جزء 2 من 3: كتابة لعبة أساسية

381698 5
381698 5

الخطوة 1. فهم اللبنات الأساسية لرمز AS3

عند إنشاء لعبة أساسية ، هناك العديد من هياكل التعليمات البرمجية المختلفة التي ستستخدمها. هناك ثلاثة أجزاء رئيسية لأي كود AS3:

  • المتغيرات - هذه هي الطريقة التي يتم بها تخزين بياناتك. يمكن أن تكون البيانات أرقامًا وكلمات (سلاسل) وكائنات وغير ذلك. يتم تعريف المتغيرات بواسطة الكود var ويجب أن تكون كلمة واحدة.

    var playerHealth: الرقم = 100 ؛ // "var" تشير إلى أنك تحدد متغيرًا. // "playerHealth" هو اسم المتغير. // "الرقم" هو نوع البيانات. // "100" هي القيمة المخصصة للمتغير. // تنتهي جميع أسطر actioncript بـ "؛"

  • معالجات الأحداث - تبحث معالجات الأحداث عن أشياء معينة تحدث ، ثم تخبر بقية البرنامج. هذا ضروري لإدخال اللاعب وتكرار التعليمات البرمجية. تستدعي معالجات الأحداث عادةً الدوال.

    addEventListener (MouseEvent. CLICK، swingSword) ؛ يحدد // "addEventListener ()" معالج الحدث. // "MouseEvent" هي فئة الإدخال التي يتم الاستماع إليها. // ". CLICK" هو الحدث المحدد في فئة MouseEvent. // "swingSword" هي الوظيفة التي يتم استدعاؤها عند وقوع الحدث.

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

    وظيفة swingSword (e: MouseEvent): void ؛ {// رمزك يذهب هنا} // "function" هي الكلمة الرئيسية التي تظهر في بداية كل وظيفة. // "swingSword" هو اسم الوظيفة. // "e: MouseEvent" هي معلمة مضافة توضح أن الوظيفة // يتم استدعاؤها من مستمع الحدث. // ": void" هي القيمة التي تُرجعها الدالة. إذا لم يتم إرجاع قيمة // ، فاستخدم: void.

381698 6
381698 6

الخطوة 2. إنشاء كائن

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

  • افتح برنامج Flash Professional إذا لم تكن قد قمت بذلك بالفعل. قم بإنشاء مشروع ActionScript 3 جديد.
  • انقر فوق أداة الرسم Rectangle من لوحة Tools. قد تكون هذه اللوحة في مواقع مختلفة بناءً على تكوين Flash Professional. ارسم مستطيلاً في نافذة المشهد.
  • حدد المستطيل باستخدام أداة التحديد.
381698 7
381698 7

الخطوة 3. تعيين خصائص للكائن

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

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

الخطوة 4. تعرف على كيفية تغيير خصائص مثيل

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

  • العدو.x = 150 ؛ يؤثر هذا على موضع كائن العدو على المحور السيني.
  • العدو ص = 150 ؛ يؤثر هذا على موضع كائن العدو على المحور ص. يتم حساب المحور الصادي من أعلى المشهد.
  • العدو.دوران = 45 ؛ يقوم بتدوير كائن العدو بزاوية 45 درجة في اتجاه عقارب الساعة.
  • العدو.scaleX = 3 ؛ يمتد عرض كائن العدو بمعامل 3. سيقلب الرقم (-) الكائن.
  • العدو.قياس ص = 0.5 ؛ يسحق الجسم إلى نصف ارتفاعه.
381698 9
381698 9

الخطوة 5. افحص الأمر trace ()

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

381698 10
381698 10

الخطوة 6. قم ببناء لعبة أساسية باستخدام المعلومات الواردة أعلاه

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

var العدوHP: الرقم = 100 ؛ // يعين HP (الصحة) للعدو على 100 في البداية. var playerAttack: الرقم = 10 ؛ // يعين قوة هجوم اللاعبين عندما ينقرون. العدو.addEventListener (MouseEvent. CLICK ، attackEnemy) ؛ // عن طريق إضافة هذه الوظيفة مباشرة إلى كائن العدو ، // تحدث الوظيفة فقط عند // النقر فوق الكائن نفسه ، بدلاً من النقر في أي مكان على الشاشة. setEnemyLocation () ، // هذا يستدعي الوظيفة التالية لوضع العدو // على الشاشة. يحدث هذا عندما تبدأ اللعبة. وظيفة setEnemyLocation (): باطل {العدو.x = 200 ؛ // يحرك العدو إلى 200 بكسل من يسار شاشة العدو. ص = 150 ؛ // يحرك العدو لأسفل بمقدار 150 بكسل من أعلى شاشة العدو. rotation = 45 ؛ // يقوم بتدوير تتبع العدو 45 درجة في اتجاه عقارب الساعة ("قيمة x للعدو هي" ، "العدو x" ، وقيمة y للعدو هي "، العدو. y) ؛ // يعرض الوضع الحالي للعدو من أجل التصحيح} function attackEnemy (e: MouseEvent): void // يؤدي هذا إلى إنشاء وظيفة الهجوم عندما ينقر العدو على {oesHP = freedomHP - playerAttack؛ // يطرح قيمة الهجوم من قيمة HP ، // ينتج عنه قيمة HP الجديدة. العدو.scaleX = العدو HP / 100 ؛ // يغير العرض بناءً على قيمة HP الجديدة. // مقسومة على 100 لتحويلها إلى رقم عشري. العدو.scaleY = العدو HP / 100 ؛ // يغير الارتفاع بناءً على تتبع قيمة HP الجديد ("العدو لديه" ، العدو HP ، "HP اليسار") ؛ // إخراج مقدار نقاط الصحة التي تركها العدو}

381698 11
381698 11

الخطوة 7. جربها

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

جزء 3 من 3: تعلم التقنيات المتقدمة

381698 12
381698 12

الخطوة 1. تعرف على كيفية عمل الحزم

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

راجع هذا الدليل لمزيد من التفاصيل حول كيفية عمل الحزم في Java

381698 13
381698 13

الخطوة 2. إنشاء مجلدات المشروع الخاص بك

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

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

الخطوة 3. أضف صوتًا إلى لعبتك

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

381698 15
381698 15

الخطوة 4. إنشاء ملف الثوابت

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

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

    حزمة {import Game. *؛ }

381698 16
381698 16

الخطوة 5. انظر إلى ألعاب الآخرين

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

موصى به: