본문 바로가기

Cocos2d

Cocos2d Android : 2장 . CCProgressTimer 사용법

//팔라독 어플에 유닛을 만드는 애니매이션을 보면 
CCProgressTimer 를 이용한 듯합니다(아님말고;;)
// pro3.png 파일을 asset에 넣어주시거나 이미지를 만드셔서 테스트 해보시면 됩니다
// 1장에서 만든  StartLayer를 사용하거나 새로운 레이어를 만들어서 테스트 해보시면 됩니다


StartLayer.java 
------------------------------------------------------------------------------------------------ 
import org.cocos2d.layers.CCLayer;
import org.cocos2d.layers.CCScene;
import org.cocos2d.nodes.CCDirector;
import org.cocos2d.nodes.CCSprite;
import org.cocos2d.types.CGPoint;

import android.view.MotionEvent;

public class   StartLayer extends CCLayer {
public  StartLayer (){
setBackGround();
}
private void setBackGround() {

ProgressSprite pro3 = new ProgressSprite("pro3.png" ,this);
pro3.runProgressBar();


}
public static CCScene scene() {
CCScene scene = CCScene.node();
CCLayer layer = new StartLayer();
scene.addChild(layer);
return scene;
}
}
 
------------------------------------------------------------------------------------------------
 
ProgressSprite.java
-------------------------------------------------------------------------------------------------
import org.cocos2d.actions.CCProgressTimer;

public class ProgressSprite extends CCProgressTimer{
StartLayer  slayer;
private float progressRate;
private float xPos;
public boolean touchCheck=false;
protected ProgressSprite(String string, StartLayer slayer) {
super(string);
this.slayer=slayer;
this.setType(CCProgressTimer.kCCProgressTimerTypeRadialCW);//프로그래스바 형태
}
public void runProgressBar(){//프로그래스 바 애드
progressRate=0;
this.setPercentage(0);
this.setPosition(240f,400f);
glayer.addChild(this,0);
schedule("update1" , 0.01f);
}
public void update1(float dt){//프로그래스 바 액션 
this.setPercentage(progressRate);
progressRate=progressRate+2;
if (this.getPercentage() >= 100)
{
unschedule("update1");
}
}
}
-------------------------------------------------------------------------------------------------