[英]Java Robot Class KeyEvent
有沒有寫線的方法
r.keyPress(KeyEvent.VK_SPACE);
這將允許在Safari中運行的html 5游戲將空格鍵注冊為游戲內發生的事件? (在游戲內部,我的意思是讓游戲做出反應,好像在物理上按了“空格”一樣)
例如,我已經意識到,某些KeyEvent僅在超出某些元素時才注冊為已觸發。 下面的代碼將成功在safari的URL欄中注冊一個spacebar-press事件:
import java.awt.Robot;
import java.awt.AWTException;
import java.awt.event.KeyEvent;
public class SpaceBarPress {
SpaceBarPress(){
}
public static void main (String[] args) {
try{
Robot r = new Robot(); //create instance of robot class
r.mouseMove(600,323); //move cursor over top URL bar
r.mousePress(InputEvent.BUTTON1_MASK); //bring URL bar into focus
r.mouseRelease(InputEvent.BUTTON1_MASK);
r.keyPress(KeyEvent.VK_SPACE); //fire spacebar event
r.keyRelease(KeyEvent.VK_SPACE);
}
catch(AWTException e){
e.printStackTrace();
}
}
}
但是,當在瀏覽器中運行的html 5游戲上方運行相同的代碼時,空格鍵事件將不會在游戲內部注冊。 而按下物理空格鍵將對游戲產生影響。
機械手按鍵事件的執行速度比應用程序處理b的速度更快。 而是在新聞和發布事件之間使用大約40 ms的延遲
r.keyPress(KeyEvent.VK_SPACE); //fire spacebar event
r.delay(40);
r.keyRelease(KeyEvent.VK_SPACE);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.