У меня проблема с моим кодом, в котором у меня есть цикл setinterval
, который проверяет, является ли переменная menuScreen == true
, если она делает, тогда она создает новый объект (или прототип), называемый gameMenu1, и снова устанавливает значение false ,javascript Только функция вызова класса только
Под этим в цикле понимается оператор try и catch, который пытается вызвать функцию gameMenu1.Draw();
.
Когда я установил menuScreen
в = true
, он будет запускать эту функцию рисования один раз, а затем просто не запускать ее снова, и я понятия не имею, почему.
Javascript Код:
//defining the canvas elements (initial setup)
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var canvasWidth = canvas.width;
var canvasHeight = canvas.height;
//setting the menuScreen to true
var menuScreen = true;
var gameScreen = false;
//gamemenu class
var GameMenu = function() {
// inserting a texture from files
this.img = new Image();
this.img.src = "Assets/textures/TitleScreen.png";
};
GameMenu.prototype.Draw = function() {
console.log('drawn to screen (menuscreen)')
ctx.drawImage(this.img,0,0,canvas.width,canvas.height);
};
setInterval(function() {
ctx.clearRect(0,0,canvas.width,canvas.height);
ctx.strokeRect(0,0,canvasWidth,canvasHeight);
console.log(menuScreen)
if (menuScreen == true) {
var gameMenu1 = new GameMenu();
menuScreen = false;
}
try {
gameMenu1.Draw();
}
catch(err) {
}
}, 30);
Cavas Элемент:
<canvas id="canvas" width="600" height="600"></canvas>
нет никакой связи Pastebin. Не хватает –
Просьба указать адекватную часть кода –
oops sorry, возможно, забыли добавить его. Здесь http://pastebin.com/gCcLuBbD @BirjuShah –