Сообщение от рони
|
для чего вам нужен setInterval в данном случае
|
В данном случаи он не нужен, но для работы всей программы без него вообще ничего не будет рисоваться. Я же выложил только ту часть кода с которой у меня проблема. и там не setInterval будет, а вот так:
// файл engine.js:
var _renderer = (function () {
return requestAnimationFrame || webkitRequestAnimationFrame ||
mozRequestAnimationFrame ||
oRequestAnimationFrame ||
msRequestAnimationFrame;
})();
var _engine = function () {
console.log('The game loop is not initialized!');
};
var startGame = function (game) {
if (typeof game == 'function') {
_engine = game;
}
gameLoop();
};
var setGame = function (game) {
if (typeof game == 'function') {
_engine = game;
}
};
var gameLoop = function () {
_engine();
_renderer(gameLoop);
};
// файл со скриптом инициализации всех функций script.js:
var game = function () {
fillAll('#ccc');
for (var a1 = 0; a1 < 3; a1++) {
for (var a2 = 0; a2 < 3; a2++) {
var dW = Math.ceil(width / 3),
dY = Math.ceil(height / 3);
area.init(dW * a1, dY * a2, dW, dY);
area.draw(dW * a1, dY * a2, dW, dY);
}
};
target.draw();
player.move();
player.draw();
};
var menu = function () {
fillAll('#ccc');
for (var a1 = 0; a1 < 3; a1++) {
for (var a2 = 0; a2 < 3; a2++) {
var dW = Math.ceil(width / 3),
dY = Math.ceil(height / 3);
area.init(dW * a1, dY * a2, dW, dY);
area.draw(dW * a1, dY * a2, dW, dY);
}
};
player.draw();
if (isAnyKeyDown()) {
setGame(game);
}
};
startGame(menu);
Если можно как-то проще сделать то буду рад увидеть это.