gpt4 book ai didi

java - Android AndEngine 分数 += 1 错误增加很多

转载 作者:行者123 更新时间:2023-12-01 13:23:27 25 4
gpt4 key购买 nike

我正在创建保存到名为 listSprites 的列表中的 Sprite ,每个接触我制作的线 (line3) 的 Sprite 都会分离从屏幕上。我想要的是当它分离(与第3行碰撞)时,分数仅增加1,但现在它增加很多,例如在1分钟内达到10,218,一旦 Sprite 与线碰撞,它就会分离,分数开始增加,甚至不会停止尽管没有 Sprite 与之碰撞。

                /* The actual collision-checking. */
mScene.registerUpdateHandler(new IUpdateHandler() {
@Override
public void reset() { }

@Override
public void onUpdate(final float pSecondsElapsed) {

} for(Sprite s: listSprites){
if (s.collidesWith(line3)){
mScore += 1;
mScene.detachChild(s);
mText.setText(" "+mScore+"");

}
}
}
});

}

最佳答案

看起来 collidesWith() 并不关心 child 是否已附加。如果是这种情况,并且您不想从 listSprites 中删除 Sprite ,则除了碰撞检查之外,您还需要检查列表中的每个 Sprite ,看看它是否已附加。

我没有太多使用andengine,但是从源代码和示例来看,看起来你可以做一些像更改一样简单的事情:

if (s.collidesWith(line3)){

至:

if (s.hasParent() && s.collidesWith(line3)){
如果 Sprite 未附加到任何东西,

hasParent() 应该返回 false,因此请检查这一点。

这假设您同时没有将 Sprite 附加到不同的场景。

关于java - Android AndEngine 分数 += 1 错误增加很多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21914624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com