日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cocos2dx 自定义动画

發布時間:2025/5/22 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 自定义动画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。