0

在编程方面我是个菜鸟,所以请耐心等待并指出我需要提供的任何其他信息。我正在使用 Javascript 和 HTML5 画布制作游戏。在当前阶段,我调用两个图像并将它们分配给对象。它使用贯穿更新和渲染函数及其子函数的基本循环。

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;
    }
}

更新导弹(update() 的子函数):

function updateMissiles(){
    if (shotFired==false){
        missile.x = player.x + 68;
        missile.y = 521;
    }else if(shotFired==true && currentGameStateFunction==gameStatePlayLevel){
        missile.y -= 5;
    }
}

渲染导弹(render() 的子函数):

function renderMissiles(x,y){
    context.drawImage(missile.rocket,missile.x,missile.y);
}

编辑:我目前正在处理多项任务,所以我将整个内容上传到 www.techgoldmine.com

4

1 回答 1

1

什么shotfired时候重置为假?可能是一旦你开火,它就会一直向updateMissiles().

于 2012-02-06T18:08:03.463 回答