HTML5 холст рисование изображения в случайном порядке - PullRequest
0 голосов
/ 06 февраля 2012

Я довольно нуб, когда дело доходит до программирования, поэтому, пожалуйста, потерпите меня и укажите любую дополнительную информацию, которую я должен предоставить.Я делаю игру с использованием 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

1 Ответ

1 голос
/ 06 февраля 2012

Когда shotfired сбрасывается в false?Может быть, когда вы стреляете, он просто продолжает стрелять по updateMissiles().

...