我正在編寫一個使用鼠標操作的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