PuzzleSDK
AsyncLoadSprite3DTest类 参考

#include <Sprite3DTest.h>

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

Public 成员函数

 CREATE_FUNC (AsyncLoadSprite3DTest)
 
 AsyncLoadSprite3DTest ()
 
virtual ~AsyncLoadSprite3DTest ()
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
void menuCallback_asyncLoadSprite (cocos2d::Ref *sender)
 
void asyncLoad_Callback (cocos2d::Sprite3D *sprite, void *param)
 
- Public 成员函数 继承自 Sprite3DTestDemo
virtual ~Sprite3DTestDemo ()
 
- 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
 

Protected 属性

std::vector< std::string > _paths
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 

详细描述

在文件 Sprite3DTest.h200 行定义.

构造及析构函数说明

◆ AsyncLoadSprite3DTest()

AsyncLoadSprite3DTest::AsyncLoadSprite3DTest ( )

在文件 Sprite3DTest.cpp840 行定义.

841{
842 _paths.push_back("Sprite3DTest/girl.c3b");
843 _paths.push_back("Sprite3DTest/orc.c3b");
844 _paths.push_back("Sprite3DTest/ReskinGirl.c3b");
845 _paths.push_back("Sprite3DTest/axe.c3b");
846
847 TTFConfig ttfConfig("fonts/arial.ttf", 15);
848 auto label1 = Label::createWithTTF(ttfConfig, "AsyncLoad Sprite3D");
849 auto item1 = MenuItemLabel::create(label1, CC_CALLBACK_1(AsyncLoadSprite3DTest::menuCallback_asyncLoadSprite, this));
850
851 auto s = Director::getInstance()->getWinSize();
852 item1->setPosition(s.width * .5f, s.height * .8f);
853
854 auto pMenu1 = Menu::create(item1, nullptr);
855 pMenu1->setPosition(Vec2(0.0f, 0.0f));
856 this->addChild(pMenu1, 10);
857
858 auto node = Node::create();
859 node->setTag(101);
860 this->addChild(node);
861
863}
std::vector< std::string > _paths
Definition: Sprite3DTest.h:214
void menuCallback_asyncLoadSprite(cocos2d::Ref *sender)

引用了 _paths , 以及 menuCallback_asyncLoadSprite().

+ 函数调用图:

◆ ~AsyncLoadSprite3DTest()

AsyncLoadSprite3DTest::~AsyncLoadSprite3DTest ( )
virtual

在文件 Sprite3DTest.cpp865 行定义.

866{
867}

成员函数说明

◆ asyncLoad_Callback()

void AsyncLoadSprite3DTest::asyncLoad_Callback ( cocos2d::Sprite3D *  sprite,
void *  param 
)

在文件 Sprite3DTest.cpp894 行定义.

895{
896 long index = (long)param;
897 auto node = getChildByTag(101);
898 auto s = Director::getInstance()->getWinSize();
899 float width = s.width / _paths.size();
900 Vec2 point(width * (0.5f + index), s.height / 2.f);
901 sprite->setPosition(point);
902 node->addChild(sprite);
903}

引用了 _paths.

被这些函数引用 menuCallback_asyncLoadSprite().

+ 这是这个函数的调用关系图:

◆ CREATE_FUNC()

AsyncLoadSprite3DTest::CREATE_FUNC ( AsyncLoadSprite3DTest  )

◆ menuCallback_asyncLoadSprite()

void AsyncLoadSprite3DTest::menuCallback_asyncLoadSprite ( cocos2d::Ref *  sender)

在文件 Sprite3DTest.cpp878 行定义.

879{
880 //Note that you must stop the tasks before leaving the scene.
881 AsyncTaskPool::getInstance()->stopTasks(AsyncTaskPool::TaskType::TASK_IO);
882
883 auto node = getChildByTag(101);
884 node->removeAllChildren(); //remove all loaded sprite
885
886 //remove cache data
887 Sprite3DCache::getInstance()->removeAllSprite3DData();
888 long index = 0;
889 for (const auto& path : _paths) {
890 Sprite3D::createAsync(path, CC_CALLBACK_2(AsyncLoadSprite3DTest::asyncLoad_Callback, this), (void*)index++);
891 }
892}
void asyncLoad_Callback(cocos2d::Sprite3D *sprite, void *param)

引用了 _paths , 以及 asyncLoad_Callback().

被这些函数引用 AsyncLoadSprite3DTest().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ subtitle()

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

重载 TestCase .

在文件 Sprite3DTest.cpp873 行定义.

874{
875 return "";
876}

◆ title()

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

重载 Sprite3DTestDemo .

在文件 Sprite3DTest.cpp869 行定义.

870{
871 return "Testing Sprite3D::createAsync";
872}

类成员变量说明

◆ _paths

std::vector<std::string> AsyncLoadSprite3DTest::_paths
protected

在文件 Sprite3DTest.h214 行定义.

被这些函数引用 asyncLoad_Callback(), AsyncLoadSprite3DTest() , 以及 menuCallback_asyncLoadSprite().


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