我對JavaScript很陌生(剛開始在學校使用它),我一直在環顧四周,爲課程完成這個程序。出於某種原因,我只是無法讓它正常工作(與我目前正在工作的任何東西)我試圖用一組Missle對象填充一個Player對象...在將我的代碼切換到這個對象的使用之前,我是能夠顯示「missles」,但現在我卡住了。在JavaScript中使用數組和對象需要幫助
,我只是把我需要的代碼:
function Player(){
this.x = c.width/2;
this.y = c.height-20;
this.w = 50;
this.h = 10;
this.dx = 30;
this.score = 0;
this.missles = new Array();}
function Missle(x, y){
this.x = x;
this.y = y;
this.dy = 10;
this.w = 8;
this.h = 8;
this.visible = "false";}
function init1P(){
if (playing == "true"){
player = new Player();
animate1P();
}}
function animate1P(){
cntxt.clearRect(0, 0, c.width, c.height);
cntxt.fillStyle="#000000";
cntxt.fillRect(0,0,c.width,c.height);
cntxt.fillStyle="#ffffff";
cntxt.font="34px Verdana";
cntxt.fillText(player.score, 10, c.height-10);
cntxt.fillStyle="#ffffff";
cntxt.fillRect(player.x,player.y,player.w,player.h);
//cntxt.fillRect(comp.x,comp.y,comp.w,comp.h);
if (player.missles.visible == "true") {
cntxt.fillStyle = "#FF0000";
cntxt.fillRect(player.missles.x, player.missles.y, player.missles.w, player.missles.h);
//isHit();
if (hit == "false") {
player.missles.y -= player.missles.dy;
if (player.missles.y <= 0) {
player.missles.visible = "false";
}
}
}
// request new frame
if (playing == "true") {
requestFrame(function() { animate1P(); });
}
//moveComp();
checkBoundaries(player);
//checkBoundaries(comp);
//isHit(player);
//isHit(comp); }
function shoot() {
player.missles.push(new Missle(player.x + player.w/2, player.y + 10));
player.missles.visible = "true";
hit = "false";}
你希望每個玩家擁有多個飛彈?目前,你有一個陣列和「推」導彈,但同時你的行爲就好像只有一個導彈一樣, 'missles.visible'。 – pimvdb
嗯,只會有一個玩家......我正在嘗試爲班級創建一個太空入侵者遊戲......所以這個玩家應該有導彈,我希望有超過1個導彈出現在屏幕一次...感謝您的快速響應! – D34thSt4lker
@steveax請注意,[作業標籤現在正在逐步淘汰](http://meta.stackexchange.com/questions/147100/trogdor-ate-my-homework-tag)。 D34thSt4lker:如果你有新的問題,請單獨提問。 – Gilles