【发布时间】:2013-03-31 09:07:50
【问题描述】:
这就是我想要完成的。我希望一个项目显示在屏幕上鼠标单击的最后一个位置。目前它有点工作,但每次我点击其他地方时,所说的项目也会移动到那里。我只是希望它是静态的。
这里有一些代码:
全局变量 px 和 py。用于按住鼠标点击:
private int px = 250; // initial coordinates
private int py = 250;
鼠标点击馈送全局 px 和 py:
private void testPress(int x, int y) {
if (!isPaused && !gameOver) {
// do something..
px = x;
py = y;
girlP.setDestination((px-(girlP.getImage().getWidth(this)/2)),
(py-(girlP.getImage().getHeight(this)/2)));
//System.out.println(px + ", " + py);
}
}
px 和 py 会不断更新新值。我想要的是一种只按住最后一次鼠标点击的方法
【问题讨论】:
-
您希望它在最后点击的位置,但在您点击时不移动?你的问题目前没有意义。
-
@keppil 是的,这有点令人困惑。基本上,我有一个角色可以移动到鼠标指定的任何地方。性格是有种花的能力。我想在角色站立的任何地方(即最后一个鼠标点)种一朵花。
-
首先,您需要定义某种“固定”操作 - 也就是应该将您的项目“固定”到某个位置的鼠标单击与不应将您的项目“固定”到某个位置的鼠标单击之间的区别.此外,您不应该使用全局状态,除非您希望只有一项会按照描述的方式运行。
-
@Perception 如果我以某种方式使用数组会怎样?
-
@blutuu - 我看不出数组将如何帮助解决更基本的设计问题。现在,如果您想存储点击位置的历史记录,那么是的,将点存储在(大小有界)数组中就可以了,但这并不能解决原始问题,即 - “点击之间有什么区别那个别针和一个没有的点击?作为一个可能的解决方案的示例,您可以定义右键单击以固定,左键单击以执行“其他任何操作”。
标签: java awt mouseevent