صمم أول لعبة أندرويد الأساسية الخاصة بك في 7 دقائق فقط (باستخدام Unity)

مؤلف: Lewis Jackson
تاريخ الخلق: 11 قد 2021
تاريخ التحديث: 1 تموز 2024
Anonim
كيفية صنع لعبه اندرويد بدون اي برمجه ومن هاتفك فقط || ربح اكثر من 600 دولار شهريا من اعلانات ادموب 💰
فيديو: كيفية صنع لعبه اندرويد بدون اي برمجه ومن هاتفك فقط || ربح اكثر من 600 دولار شهريا من اعلانات ادموب 💰

المحتوى


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

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

الوحدة هي أداة محترفة للغاية تعمل على دعم الغالبية العظمى من ألقاب البيع الأكبر في متجر Play.

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

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


لإظهار مدى سهولة تطوير اللعبة مع Unity ، سأوضح لك كيف تصنع أول لعبة Android في 7 دقائق فقط.

لا - أنا لن أفعل شرح كيف نفعل ذلك في 7 دقائق. انا ذاهب الى افعلها في 7 دقائق. إذا تابعت ذلك أيضًا ، فستكون قادرًا على فعل نفس الشيء بالضبط!

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

مضيفا العفاريت والفيزياء

ابدأ بالنقر المزدوج على الوحدة لإطلاقها. حتى أطول رحلة تبدأ بخطوة واحدة.

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


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

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

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

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

لدينا بالفعل شيء يشبه "اللعبة". انقر فوق تشغيل وسترى مشهدًا ثابتًا في الوقت الحالي.

يمكننا تغيير ذلك من خلال النقر على لاعبنا العفريت والنظر إلى اليمين إلى النافذة المسماة "المفتش". هذا هو المكان الذي نغير فيه خصائص GameObjects الخاصة بنا.

اختر "إضافة مكون" ثم اختر "الفيزياء 2D> RigidBody2D". لقد أضفت الفيزياء إلى لاعبك! سيكون هذا صعبًا للغاية بالنسبة لنا لنفعله بمفردنا ويبرز حقًا فائدة الوحدة.

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

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

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

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

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

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

السيناريو الأول الخاص بك

سنقوم بصنع عداء أساسي لا نهائي ، وهذا يعني أن شخصيتنا يجب أن تتحرك مباشرة عبر الشاشة حتى تصل إلى عقبة. لذلك ، نحن بحاجة إلى برنامج نصي. لذا ، انقر بزر الماوس الأيمن في مجلد الأصول في الأسفل ، وقم بإنشاء مجلد جديد باسم "البرامج النصية". انقر بزر الماوس الأيمن مرة أخرى واختر "إنشاء> C # Script". نسميها "PlayerControls".

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

الآن انقر نقرًا مزدوجًا فوق البرنامج النصي الجديد وسيتم فتحه في Visual Studio إذا قمت بإعداد كل شيء بشكل صحيح.

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

Rigidbody2D العامة ر.

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

rb = GetComponent();

أضف هذا داخل التحديث ():

rb.velocity = new Vector2 (3، rb.velocity.y) ؛

التحديث () يتم تحديثه مرارًا وتكرارًا ، وبالتالي فإن أي رمز هنا سيتم مرارًا وتكرارًا حتى يتم تدمير الكائن. كل هذا يقول أننا نريد أن يكون لدينا شخص صلب متصل متجه جديد بنفس السرعة على المحور y (rb.velocity.y) ولكن بسرعة '3' على المحور الأفقي. كلما تقدمت ، ستستخدم على الأرجح "FixedUpdate ()" في المستقبل.

حفظ ذلك والعودة إلى الوحدة. انقر فوق حرف المشغل الخاص بك ، ثم حدد Add Component> Scripts ، ثم في البرنامج النصي الجديد ، في برنامج الفحص. انقر فوق اللعب ، وازدهار! يجب أن تتحرك شخصيتك الآن نحو حافة الحافة مثل الإغراء.

ملاحظة: إذا كان أيًا من هذا يبدو مربكًا ، فما عليك سوى مشاهدة الفيديو لمشاهدته بالكامل - إنه أمر مفيد!

إدخال اللاعب الأساسي للغاية

إذا أردنا إضافة ميزة الانتقال السريع ، فيمكننا القيام بذلك بكل بساطة باستخدام جزء إضافي واحد فقط من التعليمات البرمجية:

if (Input.GetMouseButtonDown (0)) {rb.velocity = new Vector2 (rb.velocity.x، 5)؛ }

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

يقرأ Android النقر بالماوس الأيسر عند النقر فوق أي مكان على الشاشة! حتى الآن اللعبة لديها الضوابط الأساسية الصنبور.

العثور على قدمك

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

إذا حصلت على هذا ، فلن يكون هناك تحد كبير في المستقبل

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

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

أضف التعليمات البرمجية التالية إلى البرنامج النصي الخاص بك أعلى أسلوب Update ():

تحويل الأرض groundCheck. تحويل startPosition العامة ؛ تطفو الأرض العامةالتحقق؛ LayerMask العامة whatIsGround؛ منطقي خاص onGround.

أضف هذا السطر إلى أسلوب التحديث أعلى عبارة if:

onGround = Physics2D.OverlapCircle (groundCheck.position، groundCheckRadius، whatIsGround)؛

أخيرًا ، قم بتغيير السطر التالي بحيث يتضمن && onGround:

if (Input.GetMouseButtonDown (0) && onGround) {

يجب أن يبدو الأمر برمته كما يلي:

المشغل العام للتحكم: MonoBehaviour {public Rigidbody2D rb؛ تحويل الأرض groundCheck. تحويل startPosition العامة ؛ تطفو الأرض العامةالتحقق؛ LayerMask العامة whatIsGround؛ منطقي خاص onGround. void Start () {rb = GetComponent()؛ } void Update () {rb.velocity = new Vector2 (3، rb.velocity.y)؛ onGround = Physics2D.OverlapCircle (groundCheck.position، groundCheckRadius، whatIsGround)؛ if (Input.GetMouseButtonDown (0) && onGround) {rb.velocity = new Vector2 (rb.velocity.x، 5)؛ }}}

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

لذلك ، يكون onGround صحيحًا إذا كان التحويل الذي يطلق عليه groundCheck يتداخل مع طبقة الطبقة.

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

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

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

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

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

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

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

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

الطريق إلى الأمام

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

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

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

ينضم amung Galaxy 10 الجديد إلى Huawei في تقديم إمكانيات عكس الشحن اللاسلكي لتزويد أدواتك الأخرى أثناء التنقل. تطلق شركة amung هذا Powerhare اللاسلكي ، ولكن المبدأ هو نفسه.قم بالتبديل السريع من قائمة ...

في معرض صيني قبل شهرين ، أثارت سامسونغ إطلاق أحدث أجهزة سلسلة W - W20 5G. وفقًا لحساب Weibo التابع لشركة China Telecom ، من المحتمل أن نشاهد تشغيل الجهاز في وقت لاحق من هذا الشهر كما هو مقترح في صورة ...

المشاركات المثيرة للاهتمام