我必須在我的遊戲中顯示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