我想做一個小小的pacman遊戲來訓練我的JavaScript技能。爲了移動pacman,我使用與移動功能相關的onkeyup事件函數。警報彈出後沒有返回焦點到瀏覽器
我仍然有問題。每當pacman死亡(或遊戲結束)時,我總是使用警告框來提醒用戶發生了什麼。儘管如此,在按下OK按鈕讓pacman再次移動之後,我必須點擊瀏覽器窗口才能響應鍵盤事件。
不知怎的,我相信這是一個窗口焦點問題,仍嘗試使用一些焦點(主要在警告框之後),而且似乎沒有辦法。
有人可以給我一般指針什麼可能是解決方案嗎?
PS:在遊戲構造中,我使用的是動態創建的圖像,在頁面上只有2個帶有ID的文本標籤。
編輯:在的onkeyup相關聯的代碼:
功能muda_sentido(事件) {
//baixo if(event.keyCode == 40) { pacman_status = status[2]; imagem_pacman.src = "Imagens/pacmanb.gif"; imagens[pacman_pos[0]][pacman_pos[1]].src = "Imagens/pacmanb.gif"; } //direita else if(event.keyCode == 39) { pacman_status = status[0]; imagem_pacman.src = "Imagens/pacmand.gif"; imagens[pacman_pos[0]][pacman_pos[1]].src = "Imagens/pacmand.gif"; } //cima else if(event.keyCode == 38) { pacman_status = status[3]; imagem_pacman.src = "Imagens/pacmanc.gif"; imagens[pacman_pos[0]][pacman_pos[1]].src = "Imagens/pacmanc.gif"; } //esquerda else if(event.keyCode == 37) { pacman_status = status[1]; imagem_pacman.src="Imagens/pacmane.gif" imagens[pacman_pos[0]][pacman_pos[1]].src = "Imagens/pacmane.gif"; }
}
html正文內容是雙H2標籤(可以不加它代碼格式導致它出現在預覽器上)每個ID都有一個ID。
和周圍的節目,我有類似:
警報( 「吃豆子死了!」)
而且問題是在這之後。
2編輯:設法抓住了一段代碼,位於提示框(只是改變了,現在看它在只有一個地方):
功能pacman_morreu() {
alert("O pacman morreu!");
if(pacman_vidas==0)
{
alert("Game Over!");
reinicia_tabuleiro();
}
else
{
pacman_vidas--;
vidas.innerHTML = "Número de vidas: "+ pacman_vidas;
}
pintaEcra();
}
代碼中列出的功能只會做矩陣操作操作(沒有什麼特別的)。
編輯3:按照要求,這裏有雲:
功能reinicia_tabuleiro(){
pacman_vidas = 3;
vidas.innerHTML = "Número de vidas: 3";
pontuacao.innerHTML = "Pontuação: 0";
pontos = 0;
for(i=1;i<24;i++)
{
for(j=1;j<24;j++)
{
if(tabuleiro[i][j] == 0)
tabuleiro[i][j] = 2;
}
}
}
你能爲此發佈js代碼嗎? – 2011-04-14 00:23:31
你的'onkeyup'事件綁定到'window'嗎? – Eliasdx 2011-04-14 00:23:58
和你的w/e你的onkeyup事件的html與 – 2011-04-14 00:29:42