所以我的HTML5有这个输出
<output id="counter" value="0" />
现在我的Dart有了这个
for (Gunner gunner in gunners) {
if (bullet.checkCollision(gunner)) {
deleteBullets.add(bullet);
deleteGunners.add(gunner);
int zero = 0;
count() {
zero = zero + 1;
document.getElementById("counter").innerHtml = zero.toString();
}
count();
}
}
所以我想要做的就是每当我杀死一个枪手时,我让计数器上升1但是在我杀死1个枪手后获得1点我不能再得到它,它保持在1并且不会在第一次杀戮之后继续计算我的杀戮。
答案 0 :(得分:0)
您存储得分的变量是在循环中声明的,因此每次都会在0处创建新变量。您需要在其他地方声明变量(在循环之外,代码中不包含该变量)。
// Declared somewhere more global
int score = 0;
increaseScore(int incr) {
score += incr;
document.getElementById("counter").innerHtml = score.toString();
}
// Your normal loop/event handlers/whatever
renderLoop() {
// ...
for (Gunner gunner in gunners) {
if (bullet.checkCollision(gunner)) {
deleteBullets.add(bullet);
deleteGunners.add(gunner);
increaseScore(1);
}
}
// ...
}