cocos2d-x3.0 SpriteFrameCache
2014-04-26 22:38
537 查看
bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } auto s = Director::getInstance()->getWinSize(); SpriteFrameCache::getInstance()->addSpriteFramesWithFile("grossini.plist"); SpriteFrameCache::getInstance()->addSpriteFramesWithFile("grossini-generic.plist"); auto layer1 = LayerColor::create(Color4B(255, 0, 0, 255), 85, 121); layer1->setPosition(Point(s.width/2-80 - (85.0f * 0.5f), s.height/2 - (121.0f * 0.5f))); addChild(layer1); sprite1 = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("grossini_dance_01.png")); sprite1->setPosition(Point( s.width/2-80, s.height/2)); addChild(sprite1); sprite1->setFlippedX(false); sprite1->setFlippedY(false); auto layer2 = LayerColor::create(Color4B(255, 0, 0, 255), 85, 121); layer2->setPosition(Point(s.width/2+80 - (85.0f * 0.5f), s.height/2 - (121.0f * 0.5f))); addChild(layer2); sprite2 = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("grossini_dance_generic_01.png")); sprite2->setPosition(Point( s.width/2 + 80, s.height/2)); addChild(sprite2); sprite2->setFlippedX(false); sprite2->setFlippedY(false); schedule(schedule_selector(HelloWorld::startIn05Secs), 1.0f); sprite1->retain(); sprite2->retain(); counter = 0; return true; } void HelloWorld::startIn05Secs(float dt) { unschedule(schedule_selector(HelloWorld::startIn05Secs)); schedule(schedule_selector(HelloWorld::flipSprites), 0.5f); } static int spriteFrameIndex = 0; void HelloWorld::flipSprites(float dt) { counter++; bool fx = false; bool fy = false; int i = counter % 4; switch ( i ) { case 0: fx = false; fy = false; break; case 1: fx = true; fy = false; break; case 2: fx = false; fy = true; break; case 3: fx = true; fy = true; break; } sprite1->setFlippedX(fx); sprite2->setFlippedX(fx); sprite1->setFlippedY(fy); sprite2->setFlippedY(fy); if(++spriteFrameIndex > 14) { spriteFrameIndex = 1; } char str1[32] = {0}; char str2[32] = {0}; sprintf(str1, "grossini_dance_%02d.png", spriteFrameIndex); sprintf(str2, "grossini_dance_generic_%02d.png", spriteFrameIndex); sprite1->setSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName(str1)); sprite2->setSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName(str2)); }
相关文章推荐
- cocos2d-x3.0 SpriteFrameCache
- cocos2d-x SpriteFrameCache/TextureCache/AnimationCache
- 【cocos2d-x3.5】Lua Plist与SpriteFrameCache
- 【cocos2d-js官方文档】十四、cc.spriteFrameCache 改造说明
- cocos2d-x中的缓存CCTextureCache、CCSPriteFrameCache、CCAnimationCache
- [cocos2d-x]TextureCache和spriteFramecache
- Cocos2d-x SpriteFrameCache的使用
- cocos2d-x中的缓存CCTextureCache、CCSPriteFrameCache、CCAnimationCache
- cocos2d - JS 精灵帧缓存 ( SpriteFrameCache )
- cocos2d-x SpriteFrameCache
- 关于cocos2d: SpriteFrameCache: removing unused frame与内存警告,程序崩溃
- cocos2d-x3.0 SpriteFrameCache
- cocos2d-SpriteBatchNode与SpriteFrameCache加快渲染的优缺点
- cocos2d-x 3.x学习之SpriteFrameCache
- Cocos2d-x SpriteFrameCache的使用
- 【Cocos2dx 3.3 Lua】SpriteBatchNode和SpriteFrameCache使用
- cocos2dx-3.0(33) 中的缓存TextureCache、SPriteFrameCache、AnimationCache
- cocos2d中SpriteFrame和Texture
- cocos2dx-3.0(33) 中的缓存TextureCache、SPriteFrameCache、AnimationCache
- spriteFrameCache,AnimationCache,TextureCache