我想创建一个程序/脚本,在使用键盘时触发鼠标点击或拖动。例如:如果按1,则保存鼠标位置。如果按2,鼠标将转到保存的位置。我知道这在不同的编程语言中是可能的,我想知道哪一个最适合用于此目的。有人能给我一点启发吗?
修改:
import java.awt.MouseInfo;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import java.awt.AWTException;
import java.awt.event.*;
public class nudan implements KeyListener{
int x1;
int y1;
public static void main(String[] args) throws AWTException{
JFrame jf = new JFrame("Key Event");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.addKeyListener(new nudan());
jf.setVisible(true);
jf.setAlwaysOnTop(true);
Robot rt = new Robot();
}
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == e.VK_NUMPAD1){
System.out.println("Key Pressed: " + e.getKeyChar());
this.y1 = MouseInfo.getPointerInfo().getLocation().y;
this.x1 = MouseInfo.getPointerInfo().getLocation().x;
}
}
@Override
public void keyReleased(KeyEvent e) {
if(e.getKeyCode() == e.VK_NUMPAD2){
System.out.println(x1);
System.out.println(y1);
try {
new Robot().mouseMove(x1, y1);
} catch (AWTException e1) {
e1.printStackTrace();
}
}
}
@Override
public void keyTyped(KeyEvent e) {
}
}
到目前为止,谢谢你们。这样可行。如果按Numpad 1,它将保存位置和Prints'1'。当按下numpad 2时,它将转到保存的位置并打印保存的位置。但不知何故,当我开始我的游戏并试图使用它时,我的鼠标不会移动,eventhought它打印位置,所以脚本仍在运行。任何人都有线索?
答案 0 :(得分:0)
这可以通过几乎所有语言以相当简单的方式完成,不需要使用特定的语言。
我假设你刚刚开始编程,所以编程中的一条黄金法则就是谷歌吧!
对于java,您可以轻松找到MouseInfo类(java.awt.MouseInfo)的文档,它将提供您需要的功能。
<强>爪哇强>
<?php foreach ($image as $value){?>
<div class="col-md-3">
<h3><?php echo $value['title']; ?></h3>
<div class="img-box">
<img class="post-thumb" src="<?php echo site_url(); ?>assets/images/portfolios/<?php echo $value['register_id'];?>/<?php echo $value['url']; ?>">
</a>
</div>
<强>输出强>
import java.awt.MouseInfo;
public class ExampleMouseInfo {
public static void main(String[] args){
int mouseYPos = MouseInfo.getPointerInfo().getLocation().y;
int mouseXPos = MouseInfo.getPointerInfo().getLocation().x;
System.out.println(mouseXPos);
System.out.println(mouseYPos);
}
}
这段代码将在您运行程序时获得鼠标的位置。因此,如果您想在某一点触发这部分代码(就像您按下按钮所说的那样),您可以从中创建一个函数并将其包装到event handler中。
编辑:可以找到移动鼠标的示例here。