0

こんにちは、ここで cocos2d を使用して 1 つのアプリを実行しています。進行状況タイマーの設定を表示する必要があります。以下のコードを使用して設定しましたが、正しい解決策が得られません。

public class HelloWorldLayer extends CCColorLayer {
    static HelloWorldLayer layer;
      CGSize winSize;
     CCSprite home,target;
    protected HelloWorldLayer(ccColor4B color) {
    super(color);
    // TODO Auto-generated constructor stub
    winSize = CCDirector.sharedDirector().displaySize();
    this.setIsTouchEnabled(true);

  CCSprite progressBorder=CCSprite.sprite("BorderImage.png");
           progressBorder.setPosition(CGPoint.ccp(20, winSize.height - 50.5f));
           this.addChild(progressBorder);
           powerBar=CCProgressTimer.progress("Health.png");
           powerBar.setType(0);
           powerBar.setAnchorPoint(CGPoint.ccp(0, 0));
           powerBar.setPercentage(90);
           progressBorder.addChild(powerBar);
           this.schedule("gameLogic2", 1);

}

public static CCScene scene() {
    // TODO Auto-generated method stub
    //Creates scene  
    CCScene scene = CCScene.node();

    layer = new HelloWorldLayer(ccColor4B.ccc4(225, 225,225, 225));

    //adds layer to scene
    scene.addChild(layer);

    return scene;
}

          public void gameLogic2(float dt)
       {

       float sss=powerBar.getPercentage();

        sss +=1;
        powerBar.setPercentage(sss);
   }

上記のコードでは、powerbarpercentage 100 のときに、その時間だけヘルス イメージが表示されます。他の賢明なヘルス イメージは表示されません。

4

1 に答える 1

0

コードで powerBar のタイプを見逃しているだけです。

でコードを変更

CCSprite progressBorder=CCSprite.sprite("BorderImage.png");
           progressBorder.setPosition(CGPoint.ccp(20, winSize.height - 50.5f));
           this.addChild(progressBorder);
           powerBar=CCProgressTimer.progress("Health.png");
           progressBar.setType(CCProgressTimer.kCCProgressTimerTypeVerticalBarBT);
           powerBar.setAnchorPoint(CGPoint.ccp(0, 0));
           powerBar.setPercentage(90);
           progressBorder.addChild(powerBar);
           this.schedule("gameLogic2", 1);

}

ありがとう

于 2013-11-21T08:16:27.517 に答える