الانتقال إلى المحتوى الرئيسي

كيفية تسجيل الخروج من اللعبة في الوحدة: دليل مفصل

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

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

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

  1. التحضير لنهاية اللعبة
  2. أ) توفير التقدم
  3. ب) التحقق من شروط اللعبة
  4. تطوير شاشة الخروج
  5. أ) إنشاء الواجهة
  6. ب) إضافة زر الخروج
  7. تنفيذ زر الخروج
  8. أ) الغرض من الحدث
  9. ب) ترميز نهاية اللعبة
  10. التعامل مع حالات استثنائية
  11. سؤال وجواب
  12. كيف يمكنني تسجيل الخروج من اللعبة في الوحدة?
  13. كيف يمكنني إضافة زر الخروج إلى الوحدة?
  14. هل هناك أي طرق بديلة للخروج من اللعبة في الوحدة?
  15. هل من الممكن إضافة مربع حوار تأكيد لتسجيل الخروج من اللعبة?
  16. ما هي النقاط التي يجب أخذها في الاعتبار عند الخروج من اللعبة في الوحدة?

التحضير لنهاية اللعبة

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

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

أ) الحفاظ على التقدم

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

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

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

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

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

ب) التحقق من شروط اللعبة

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

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

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

تطوير شاشة الخروج

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

لإنشاء شاشة خروج ، يمكنك استخدام العناصر التالية:

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

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

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

  1. باستخدام يونيتينجين;
  2. لعبة خروج الطبقة العامة : السلوك الأحادي
  3. {
  4. الفراغ العام أونكسيتبوتونكليك ()
  5. {
  6. التطبيق.إنهاء();
  7. }
  8. }

استدعاء التطبيق.إنهاء () طريقة يسمح لك للخروج من تطبيق الوحدة.

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

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

أ) إنشاء واجهة

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

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

لبدء إنشاء واجهة في الوحدة ، تحتاج إلى:

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

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

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

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

ب) إضافة زر الخروج

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

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

باستخدام يونيتينجين;

باستخدام يونيتينجين.واجهة المستخدم;

خروج الطبقة العامة زر النص: سلوك أحادي

{

// ربط زر الخروج بكائن الزر على المسرح

زر الخروج العام;

بداية الفراغ الخاص ()

{

// إضافة مستمع لحدث النقر على زر الخروج

زر الخروج.أنقر.أدليستينر (إكسيتغام);

}

// الوظيفة التي سيتم استدعاؤها عند الضغط على زر الخروج

خروج الفراغ الخاص ()

{

# إذا وحدت_محرر

// إذا كانت اللعبة قيد التشغيل في محرر الوحدة ، أوقف المحرر

يونيتيديتور.تطبيق المحرر.إكسيتبلايمود();

# آخر

// إذا كانت اللعبة تعمل في تطبيق مستقل ، اخرج منها

التطبيق.إنهاء();

# انديف

}

}

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

6. اسحب البرنامج النصي "إكسيتبوتونسكريبت"على كائن زر الخروج على المسرح ("إكسيتبوتون") في محرر الوحدة.

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

تنفيذ زر الخروج

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

  1. إنشاء برنامج نصي لزر الخروج.
  2. ربط البرنامج النصي إلى زر في الوحدة.
  3. إضافة رمز للخروج من اللعبة.

الخطوة 1: إنشاء برنامج نصي

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

الخطوة 2: ربط البرنامج النصي بالزر

ابحث عن زر الخروج في القائمة الرئيسية وأضف مكون "الزر" إليه. Затем перетащите созданный на предыдущем шаге скрипт «ExitButton» на поле «OnClick()» в компоненте «Button».

Шаг 3: Реализация выхода из игры

Откройте скрипт «ExitButton» и добавьте следующий код в метод «OnClick()»:

«`csharp

using UnityEngine;

using UnityEngine.UI;

public class ExitButton : MonoBehaviour

{

public void OnClick()

{

#if UNITY_EDITOR

UnityEditor.EditorApplication.isPlaying = false;

#else

Application.Quit();

#endif

}

}

«`

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

ملاحظة:في بيئة تطوير الوحدة ، لن يعمل الزر حتى تبدأ اللعبة.

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

أ) الغرض من الحدث

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

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

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

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

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

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

ب) ترميز الانتهاء من اللعبة

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

// Завершаем игру

#if UNITY_EDITOR

  1. UnityEditor.EditorApplication.isPlaying = false;

#else
Application.Quit();
#endif
}
}

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

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

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

{

// الكود الذي قد يحدث فيه استثناء

}

الصيد (استثناء ه)

{

// معالجة الاستثناء

}

أخيرا

{

// التعليمات البرمجية التي يتم تنفيذها بغض النظر عما إذا كان قد حدث استثناء أم لا

}

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

الصيد (أوتوفميموريكسيبتيون ه)