您好我正在使用cocos2d做一个应用程序我需要使用下面的代码显示set progress timer.i set但是我没有得到正确的解决方案。
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那个时间只有helth图像显示其他明智的helth图像是nit显示。我不能设置计时器类型我认为这是问题如果任何人了解我的问题请播种这个...
答案 0 :(得分: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);
}
由于