【问题标题】: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 - 我看不出数组将如何帮助解决更基本的设计问题。现在,如果您想存储点击位置的历史记录,那么是的,将点存储在(大小有界)数组中就可以了,但这并不能解决原始问题,即 - “点击之间有什么区别那个别针和一个没有的点击?作为一个可能的解决方案的示例,您可以定义右键单击以固定,左键单击以执行“其他任何操作”。

标签: java awt mouseevent


【解决方案1】:

请参阅this question 了解如何监听鼠标事件

您可以使用event.clickXevent.clickY 获取您监听鼠标点击的元素内的坐标,或使用event.screenXevent.screenY 获取文档内的绝对鼠标坐标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 2020-08-04
    相关资源
    最近更新 更多