Я довольно нуб, когда дело доходит до программирования, поэтому, пожалуйста, потерпите меня и укажите любую дополнительную информацию, которую я должен предоставить.Я делаю игру с использованием Javascript и HTML5 canvas.На текущем этапе я вызываю два изображения и назначаю их объектам.Он использует базовый цикл, который проходит через функции обновления и рендеринга и их подфункции.
var player = {}
player.truck = new Image();
player.truck.src = "truck.png";
var missile = {}
missile.rocket = new Image();
missile.rocket.src = "missile2.png"
Обе операции обрабатываются через отдельные функции рендеринга, переменные которых обрабатываются функциями обновления, а переменные - в свою очередь, событиями keyPress,При обновлении изображение игрока отображается и ведет себя очень хорошо - но ракетное изображение отображается совершенно случайно.
Проверка ключей:
function checkKeys() {
if (keyPressList[37]==true) {
ConsoleLog.log("pressed left ")
player.moveX = player.x -= 3;
}
if (keyPressList[39]==true) {ConsoleLog.log("pressed right")
player.moveX = player.x += 3;
}
if (keyPressList[32]==true) {ConsoleLog.log("space pressed")
shotFired=true;
}
}
Обновление Ракеты (подфункция обновления ()):
function updateMissiles(){
if (shotFired==false){
missile.x = player.x + 68;
missile.y = 521;
}else if(shotFired==true && currentGameStateFunction==gameStatePlayLevel){
missile.y -= 5;
}
}
Рендеринг Ракеты (подфункция рендера ()):
function renderMissiles(x,y){
context.drawImage(missile.rocket,missile.x,missile.y);
}
РЕДАКТИРОВАТЬ: я в настоящее время многозадачность, поэтому я загрузил все это на www.techgoldmine.com