我正在编写一个使用鼠标操作的Java游戏。我的主要课程中有一个点msc
- 每当我按下鼠标时它都会更改,并且每当我释放鼠标时它都会设置为(0, 0)
。对于按钮,他们检查msc
是否在它们的矩形内,如果是,请致电click
。Java鼠标输入每秒
其中一个按钮应该切换布尔值;当我点击它时,它会非常快速地切换真和假,因为每调用paintComponent
就会更新msc
。
下面是按钮单击方法的代码:
if (button.contains(Screen.msc)) {
beenClicked = true;
this.width = this.width - 2;
this.height = this.height - 2;
this.x = this.x + 1;
this.y = this.y + 1;
g.setColor(currColor);
textColor = Color.YELLOW;
}
但这不是问题的所在,我认为。这里是改变msc
代码:
public void mouseReleased(MouseEvent e) {
Screen.msc = new Point(0, 0);
}
public void mousePressed(MouseEvent e) {
Screen.msc = new Point((e.getX()) - ((Frame.size.width - Screen.myWidth)/2), e.getY() - ((Frame.size.height - (Screen.myHeight)) - (Frame.size.width - Screen.myWidth)/2));
}
和当特定切换按钮被点击了什么情况的代码:
if (toggleToolTips.clicked()) {
if (Screen.canDrawTooltip) {
Screen.canDrawTooltip = false;
} else if(!Screen.canDrawTooltip){
Screen.canDrawTooltip = true;
}
}
的问题是每一次我去按一下按钮,布尔时间来回切换真正快速。当我拥有它时,它会迅速而持续地切换。我想让它点击一下,然后切换一次。
好吧,老实说,请给我一些方向,而不是只是downvoting me.It帮助没有人。 – user1871085
看起来你需要计时器。告诉我们一些代码,并告诉我们你在哪里得到确切的问题。 – Smit
k我添加了代码和东西。有什么建议么? – user1871085