PuzzleSDK
AnimationCacheTest类 参考

#include <SpriteTest.h>

+ 类 AnimationCacheTest 继承关系图:
+ AnimationCacheTest 的协作图:

Public 成员函数

 CREATE_FUNC (AnimationCacheTest)
 
 AnimationCacheTest ()
 
virtual ~AnimationCacheTest ()
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
- Public 成员函数 继承自 TestCase
 TestCase ()
 
 ~TestCase ()
 
virtual Type getTestType () const
 
virtual float getDuration () const
 
virtual std::string getExpectedOutput () const
 
virtual std::string getActualOutput () const
 
virtual void restartTestCallback (cocos2d::Ref *sender)
 
virtual void nextTestCallback (cocos2d::Ref *sender)
 
virtual void priorTestCallback (cocos2d::Ref *sender)
 
virtual void onBackCallback (cocos2d::Ref *sender)
 
void setTestSuite (TestSuite *testSuite)
 
TestSuitegetTestSuite () const
 
float getRunTime () const
 
void setTestCaseName (const std::string &name)
 
std::string getTestCaseName () const
 
const cocos2d::Label * getSubtitleLable () const
 
const cocos2d::MenuItemImage * getRestartTestItem () const
 
virtual void onEnter () override
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 
- Protected 属性 继承自 SpriteTestDemo
std::string _title
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

详细描述

在文件 SpriteTest.h644 行定义.

构造及析构函数说明

◆ AnimationCacheTest()

AnimationCacheTest::AnimationCacheTest ( )

在文件 SpriteTest.cpp3569 行定义.

3570{
3571 auto frameCache = SpriteFrameCache::getInstance();
3572 frameCache->addSpriteFramesWithFile("animations/grossini.plist");
3573 frameCache->addSpriteFramesWithFile("animations/grossini_gray.plist");
3574 frameCache->addSpriteFramesWithFile("animations/grossini_blue.plist");
3575
3576 //
3577 // create animation "dance"
3578 //
3579 Vector<SpriteFrame*> animFrames(15);
3580 char str[100] = {0};
3581 for(int i = 1; i < 15; i++)
3582 {
3583 sprintf(str, "grossini_dance_%02d.png",i);
3584 auto frame = frameCache->getSpriteFrameByName(str);
3585 animFrames.pushBack(frame);
3586 }
3587
3588 auto animation = Animation::createWithSpriteFrames(animFrames, 0.2f);
3589
3590 // Add an animation to the Cache
3591 AnimationCache::getInstance()->addAnimation(animation, "dance");
3592
3593 //
3594 // create animation "dance gray"
3595 //
3596 animFrames.clear();
3597
3598 for(int i = 1; i < 15; i++)
3599 {
3600 sprintf(str, "grossini_dance_gray_%02d.png",i);
3601 auto frame = frameCache->getSpriteFrameByName(str);
3602 animFrames.pushBack(frame);
3603 }
3604
3605 animation = Animation::createWithSpriteFrames(animFrames, 0.2f);
3606
3607 // Add an animation to the Cache
3608 AnimationCache::getInstance()->addAnimation(animation, "dance_gray");
3609
3610 //
3611 // create animation "dance blue"
3612 //
3613 animFrames.clear();
3614
3615 for(int i = 1; i < 4; i++)
3616 {
3617 sprintf(str, "grossini_blue_%02d.png",i);
3618 auto frame = frameCache->getSpriteFrameByName(str);
3619 animFrames.pushBack(frame);
3620 }
3621
3622 animation = Animation::createWithSpriteFrames(animFrames, 0.2f);
3623
3624 // Add an animation to the Cache
3625 AnimationCache::getInstance()->addAnimation(animation, "dance_blue");
3626
3627
3628 auto animCache = AnimationCache::getInstance();
3629
3630 auto normal = animCache->getAnimation("dance");
3631 normal->setRestoreOriginalFrame(true);
3632 auto dance_grey = animCache->getAnimation("dance_gray");
3633 dance_grey->setRestoreOriginalFrame(true);
3634 auto dance_blue = animCache->getAnimation("dance_blue");
3635 dance_blue->setRestoreOriginalFrame(true);
3636
3637 auto animN = Animate::create(normal);
3638 auto animG = Animate::create(dance_grey);
3639 auto animB = Animate::create(dance_blue);
3640
3641 auto seq = Sequence::create(animN, animG, animB, nullptr);
3642
3643 // create an sprite without texture
3644 auto grossini = Sprite::create();
3645 auto frame = frameCache->getSpriteFrameByName("grossini_dance_01.png");
3646 grossini->setSpriteFrame(frame);
3647
3648 auto winSize = Director::getInstance()->getWinSize();
3649 grossini->setPosition(Vec2(winSize.width/2, winSize.height/2));
3650 addChild(grossini);
3651
3652 // run the animation
3653 grossini->runAction(seq);
3654}

◆ ~AnimationCacheTest()

AnimationCacheTest::~AnimationCacheTest ( )
virtual

在文件 SpriteTest.cpp3656 行定义.

3657{
3658 auto frameCache = SpriteFrameCache::getInstance();
3659 frameCache->removeSpriteFramesFromFile("animations/grossini.plist");
3660 frameCache->removeSpriteFramesFromFile("animations/grossini_gray.plist");
3661 frameCache->removeSpriteFramesFromFile("animations/grossini_blue.plist");
3662}

成员函数说明

◆ CREATE_FUNC()

AnimationCacheTest::CREATE_FUNC ( AnimationCacheTest  )

◆ subtitle()

std::string AnimationCacheTest::subtitle ( ) const
overridevirtual

重载 TestCase .

在文件 SpriteTest.cpp3669 行定义.

3670{
3671 return "Sprite should be animated";
3672}

◆ title()

std::string AnimationCacheTest::title ( ) const
overridevirtual

重载 TestCase .

在文件 SpriteTest.cpp3664 行定义.

3665{
3666 return "AnimationCache";
3667}

该类的文档由以下文件生成: