日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java空格键_Java KeyPressed-如果其他键也太旧,则无法检测是否按下了空格键

發布時間:2023/12/1 java 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java空格键_Java KeyPressed-如果其他键也太旧,则无法检测是否按下了空格键 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如標題所示,在我的Java游戲中,無法檢測是否同時按下空格鍵和其他鍵。

例如,空格鍵是射擊鍵,而箭頭鍵則使玩家移動。如果我按下向上箭頭鍵,向左箭頭鍵和空格鍵,那么它應該向左上方發射子彈。

但是,在使用倍數System.out.println();進行調試之后,我發現如果按下兩個鍵,則如果按下空格鍵,則不會檢測到空格鍵。

public void keyPressed(KeyEvent e) {

if(e.getKeyCode() == 32){

pressingSpacebar = true;

System.out.println("Spacebar pressed true");

}

// Up arrow key

if(e.getKeyCode() == 38){

up = true;

System.out.println("Up = true");

}

// Down arrow key

if(e.getKeyCode() == 40){

down = true;

System.out.println("Down = true");

}

// Right arrow key

if(e.getKeyCode() == 39){

right = true;

System.out.println("Right = true");

}

// Left arrow key

if(e.getKeyCode() == 37){

left = true;

System.out.println("Left = true");

}

}

然后在keyReleased中:

public void keyReleased(KeyEvent e) {

if(e.getKeyCode() == 38){

up = false;

repaint();

}

if(e.getKeyCode() == 40){

down = false;

repaint();

}

if(e.getKeyCode() == 39){

right = false;

repaint();

}

if(e.getKeyCode() == 37){

left = false;

repaint();

}

if(e.getKeyCode() == 32){

pressingSpacebar = false;

}

}

這是我檢查是否按空格鍵和多個鍵的方式:

if(pressingSpacebar){

if(right == true && down == true && up == false && left == false){

// Shoot bullet

}

}

為什么未檢測到空格鍵?如果我不檢查是否按下空格鍵,則子彈射擊很好,但是當我檢查空格鍵時,它不會檢測到它。

注意:我已經閱讀了與此問題類似的其他帖子,但答案不是很有幫助。當涉及到這些東西時,我是一個新手,所以請嘗試給出一個簡單的答案或進行一些解釋。提前致謝!

總結

以上是生活随笔為你收集整理的java空格键_Java KeyPressed-如果其他键也太旧,则无法检测是否按下了空格键的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。