我必须在我的游戏中显示palyers的生命。每一个玩家击中了错误的敌人静物时间decrease.the默认静物是5标签覆盖标签,同时在cocos2d中显示健康标签android
我的代码如下
首先我在gamelayer声明此
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相同的数字上。所有的数字都显示在对方身上。现在,我想你明白我提前
我猜你是调用'showLable(_lifes);'在你的游戏中它的初始化开始后,所以标签显示值为5.你呢?对于2)我真的不明白:/ – Guian 2013-03-08 18:21:09
不,5没有显示出来,它直接从4开始。总共有5种生命,当一个生命消失时,标签显示为4(这意味着剩下4个生命)。我想要的是,5从游戏开始本身显示为默认值。谢谢 – 2013-03-08 18:41:31
现在我明白了,我只需要写showLable(_lifes);在比赛开始时。但我仍然遭受第二个问题..请帮我 – 2013-03-08 18:48:28