每次按下某个键时,仅进行一次操作/变量更改

  • 本文关键字:一次 操作 变量 java processing
  • 更新时间 :
  • 英文 :


我编写的代码应该在每次矩形(通过按m键创建(与另一个矩形(敌人(相交时移除 25 点生命值(生命值(。目前,敌人在我只按一次m键后连续损失25HP,直到我在敌人身体外再次按下m键。

这是我对敌人的伤害代码。被杀后会变成白色,这就是为什么我在那里有df1等。

void damage() {
//if (callMethod) {
HP -=25;

//callMethod = false;
System.out.println(" " + HP);
//}
if (HP == 0) {
df1 = 200;
df2 = 200;
df3 = 200;
}
}

这是m输入的代码。

void Fight() {
if (keyPressed) {
if (key == 'm'|| key == 'M') {
//villkor, flytta höger, X-led.
fill(255, 0, 0, 63);
noStroke();
rect(xF, yF, wF, hF);
xFF = xF;
yFF = yF;
wFF = wF;
hFF = hF;
}
}
}

这里有我的相交代码:

if (g.intersect(f)) {
f.damage();
}

我将不胜感激我能得到的任何帮助。为我糟糕的英语语法:)道歉

您可以使用另一个boolean变量来跟踪是否已执行操作。

下面是一个小示例:

boolean alreadyPressed = false;
void draw() {}
void mousePressed() {
if(!alreadyPressed){
background(random(255)); 
}
alreadyPressed = true;
}

然后,只要您希望有资格再次检测事件,就可以重置boolean变量。

最新更新