我必须在我的游戏中展示玩家的生活。每次玩家击中错误的敌人,生命就会减少。默认生命是 5。
我的代码如下
首先我在我的游戏层中声明这个
static int lifes=5;
CCLabel _lifes;
然后在代码底部的方法如下
public void showLable(CCLabel _lifes){
if(_lifes != null){
this.removeChild(_lifes,true);
}
_lifes = CCLabel.makeLabel("" + lifes, "Verdana", 20);
_lifes.setColor(ccColor3B.ccbrown);
_lifes.setPosition(winSize.width/2,(winSize.height/2));
addChild(_lifes,3)
}
然后我写了这个条件,玩家击中了错误的敌人
lifes--;
showLable(_lifes);
1)一切正常,标签显示并且标签减少,但标签直到玩家击中错误的敌人才会显示,如你所见,我将默认值设置为 5,标签在玩家击中错误的敌人后显示,即,从 4 开始。
2)另一个主要问题是显示的标签在显示时没有删除以前的值。例如。生命值默认为 5。游戏开始时显示5。当生命值减少时生命值应该是 4,所以在我的游戏中,4 放在 5 上。然后将生命放在与 3 或 2 或 1 相同的数字上。所有数字相互显示。现在我想你理解我了
提前致谢