আপনি এটি মিলিয়ন উপায়ে করতে পারেন। তবে আপনি সবচেয়ে স্বাচ্ছন্দ্য বোধ করেন এবং আপনার প্রকৌশলীরা সবচেয়ে আত্মবিশ্বাসী বোধ করেন।
আপনি যদি অনুপ্রেরণা বা কোডের উদাহরণ সন্ধান করেন তবে আমি এটি করার এক উপায় এখানে's আমার একটি ফাংশন রয়েছে যা একটি বোতাম টিপানো না হওয়া পর্যন্ত বারবার মেনু আঁকে। বোতামটি টিপলে, গেম লোড হয় এবং পুরানো মেনু ক্লিক ইভেন্ট শ্রোতাদের সরানো হয় এবং নতুন গেম ক্লিক ইভেন্ট শ্রোতাদের যুক্ত করা হয়। আমি মেনুটির পুরানো ড্র লুপটিও শেষ করে একটি নতুন গেম ড্র লুপ শুরু করি। কীভাবে এটি সম্পন্ন হয়েছে সে সম্পর্কে আপনাকে ধারণা দেওয়ার জন্য এখানে কয়েকটি নির্বাচিত স্নিপেটগুলি রয়েছে:
Game.prototype.loadMenu = function() {
var game = this;
var can = this.canvas;
// now we can use the mouse for the menu
can.addEventListener('click', game.menuClickEvent, false);
can.addEventListener('touchstart', game.menuClickEvent, false);
// draw menu
this.loop = setInterval(function() { game.drawMenu() }, 30);
};
Game.prototype.drawMenu = function() {
// ... draw the menu
}
Game.prototype.loadLevel = function(levelstring) {
// unload menu
var can = this.canvas;
var game = this;
can.removeEventListener('click', game.menuClickEvent, false);
can.removeEventListener('touchstart', game.menuClickEvent, false);
if (this.loop) clearInterval(this.loop);
// ... other level init stuff
// now we can press keys for the game
//can.addEventListener('click', game.gameClickEvent, false);
can.addEventListener('touchstart', game.gameClickEvent, false);
can.addEventListener('keydown', game.gameKeyDownEvent, false);
this.loop = setInterval(function() { game.tick() }, 30);
}
// called from tick()
Game.prototype.draw = function(advanceFrame) {
// ...
}
এইভাবে আমি গেম অঙ্কন এবং গেম ইভেন্টগুলি মেনু অঙ্কন এবং মেনু ইভেন্টগুলি থেকে পৃথক করতে সক্ষম। এটি আমার মেনুগুলিতে গেম / অ্যানিমেশন উপাদানগুলি ব্যবহার করার জন্য আমাকে এলোমেলো করে দেয় আমি তাদের সত্যিকারের চেহারা সুন্দর করে তুলতে চাই।