cocos2dx 自定义动画
生活随笔
收集整理的這篇文章主要介紹了
cocos2dx 自定义动画
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
bool HelloWorld::init()
{//
// 1. super init firstif ( !CCLayer::init() ){return false;}
//// 添加4個精靈, 每個精靈用來標示一幀
// CCSprite * sp1= CCSprite::create("crop1.png");
// CCSprite * sp2= CCSprite::create("crop2.png");
// CCSprite * sp3= CCSprite::create("crop3.png");
// CCSprite * sp4= CCSprite::create("crop4.png");
CCSprite * sp1= CCSprite::create("crop.png", CCRectMake(0, 0, 100, 86));CCSprite * sp2= CCSprite::create("crop.png", CCRectMake(100, 0, 100, 86));CCSprite * sp3= CCSprite::create("crop.png", CCRectMake(200, 0, 100, 86));CCSprite * sp4= CCSprite::create("crop.png", CCRectMake(300, 0, 100, 86));
// 設置一樣的坐標sp1->setPosition(ccp(100, 180));sp2->setPosition(ccp(100, 180));sp3->setPosition(ccp(100, 180));sp4->setPosition(ccp(100, 180));// 設置2-4幀不可見, 初始化時只顯示第一幀sp2->setVisible(false);sp3->setVisible(false);sp4->setVisible(false);// 添加到當前層中 tag 按照順序0~3addChild(sp1,0,0);addChild(sp2,0,1);addChild(sp3,0,2);addChild(sp4,0,3);// 每0.5s調用一次myUpdate(每0.5s切換一幀)schedule(schedule_selector(HelloWorld::myUpdate),0.5);return true;
}void HelloWorld:: myUpdate(float dt)
{currentFrameIndex++;CCLOG("currentFrameIndex= %i",currentFrameIndex);
// 獲取當前所有精靈CCArray*array= this->getChildren();
// 防止下標超過最大tag的精靈if (currentFrameIndex>=array->count()) {currentFrameIndex=0;}
// 隱藏所有的精靈for (int i = 0 ; i <array->count(); i++) {CCSprite*spt =(CCSprite*)this->getChildByTag(i);spt->setVisible(false);}
// 讓下一幀顯示出來CCSprite *sp = (CCSprite*)array->objectAtIndex(currentFrameIndex);sp->setVisible(true);}
.CPP
.h
?
class HelloWorld : public cocos2d::CCLayer { public:// Method 'init' in cocos2d-x returns bool, instead of 'id' in cocos2d-iphone (an object pointer)virtual bool init();// there's no 'id' in cpp, so we recommend to return the class instance pointerstatic cocos2d::CCScene* scene();// a selector callbackvoid menuCloseCallback(CCObject* pSender);// preprocessor macro for "static create()" constructor ( node() deprecated ) CREATE_FUNC(HelloWorld); // 定義一個變量用以標識當前顯示的幀下標int currentFrameIndex; // 自定義的更新函數void myUpdate(float dt); };?
轉載于:https://www.cnblogs.com/linux-ios/archive/2013/04/08/3008465.html
總結
以上是生活随笔為你收集整理的cocos2dx 自定义动画的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android系统编译过程中常见问题汇总
- 下一篇: PHP生成短连接