抽象Java机器人功能



我正在使用Java机器人函数进行一点游戏。

但是,由于我认为这是背面的重大痛苦,所以我想知道我是否可以抽象该功能并创建更快的方法。

现在我首先完成了以下操作:

public abstract class Cyborg {
    public static void Cyborg(KeyEvent args[]) throws AWTException{
        try {
            Robot robot = new Robot(); 
            for(KeyEvent k:args){
                robot.keyPress(KeyEvent.k); 
            }
        } catch(AWTException e){
            e.printStackTrace();
        }
    }
}

我目前对我有些困惑的我目前遇到的错误是无法解决k。但是,在KeyEvent args[]部分中,应该将其归类为关键词,还是应该是字符串?当我来自PHP背景时,我开始与Java掌握。谁能建议这是否是最好的方法?而且,为什么KeyEvent.k是否是KeyEvent还是String?任何其他建议这样做是否有效/无法正常工作或尝试避免的问题将是很棒的。

谢谢

robot.keyPress(KeyEvent.k); 

这将行不通,因为这将尝试找到KeyEventstatic member称为k。您已经命名了您的增量对象k,因此请使用k

robot.keyPress(k.getKeyCode());

更彻底的解释

当您说以下内容时:

 String[] strs = {"hello", "there", "my", "friend"};
 for(String str : strs)
 {
     // Do something.
 }

您正在制作的计算机执行的效果与:

 for(int x = 0; x < strs.length; x++)
 {
     String str = strs[x];
 }

因此,您正在定义一个名为strString对象,该对象将包含strs数组中包含的当前String对象。

此行

robot.keyPress(KeyEvent.k); 

应该像这样

robot.keyPress(k.getKeyCode());

相关内容

最新更新