برمجة الألعاب لالروبوت

برمجة الألعاب لالروبوت 41: تحميل الشاشة

42 فيديوهات

238 دقيقة

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

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

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

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

فمن يطلب منك أن تقدم لي التقدم مباشرة مع getProgress ()، والتي ترجع تعويم تبين لي كيف ستسير الامور الشيء. ذلك ما يمكن أن أفعله mismamente غير أن أغتنم هذه التسمية أنا خلقت التي يتم استخدامها لعرض تسمية النص، وتحديث النص الخاص بك؛ * 100 لأن التقدم ما بين 0 و 1 وأريد أن تنفق مئوية. وهكذا، عند تشغيل هذا الآن، سترى سوف يستغرق ثانية واحدة ... أو حتى الكثير. [يخرج خطأ]

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

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

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

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

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

العثور على دورات جديدة، والاشتراك. لن يكون هناك غير المرغوبة، وعدت :)

عن المؤلف

foto de jotajotavm
José Javier Villena

السيرة الذاتية: محلل مبرمج في لغات مختلفة. منصات المعلم PREMIUM المعترف به عالميا باعتباره CodigoFacilito. مقالات رئيس التحرير Cristalab. ويرعى بلدي قناة يوتيوب من قبل الناشر ANAYA وLaTostadora. أود أن أشرح بالتفصيل وإعطاء أمثلة عديدة لتجنب الشك.