仅保存最后一次鼠标单击坐标的变量
Posted
技术标签:
【中文标题】仅保存最后一次鼠标单击坐标的变量【英文标题】:A variable that holds coordinates of last mouse click only 【发布时间】: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 - 我看不出数组将如何帮助解决更基本的设计问题。现在,如果您想存储点击位置的历史记录,那么是的,将点存储在(大小有界)数组中就可以了,但这并不能解决原始问题,即 - “点击之间有什么区别那个别针和一个没有的点击?作为一个可能的解决方案的示例,您可以定义右键单击以固定,左键单击以执行“其他任何操作”。 【参考方案1】:请参阅this question 了解如何监听鼠标事件
您可以使用event.clickX
和event.clickY
获取您监听鼠标点击的元素内的坐标,或使用event.screenX
和event.screenY
获取文档内的绝对鼠标坐标。
【讨论】:
以上是关于仅保存最后一次鼠标单击坐标的变量的主要内容,如果未能解决你的问题,请参考以下文章
怎么在matlab中鼠标在坐标图上单击,记录下这一点的坐标啊
通过鼠标单击获取 matplotlib 绘图图 python 的坐标