PuzzleSDK
Sprite3DBasicTest类 参考

#include <Sprite3DTest.h>

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

Public 成员函数

 CREATE_FUNC (Sprite3DBasicTest)
 
 Sprite3DBasicTest ()
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
void addNewSpriteWithCoords (cocos2d::Vec2 p)
 
void onTouchesEnded (const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
 
- 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
 

额外继承的成员函数

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

详细描述

在文件 Sprite3DTest.h70 行定义.

构造及析构函数说明

◆ Sprite3DBasicTest()

Sprite3DBasicTest::Sprite3DBasicTest ( )

在文件 Sprite3DTest.cpp158 行定义.

159{
160 auto listener = EventListenerTouchAllAtOnce::create();
161 listener->onTouchesEnded = CC_CALLBACK_2(Sprite3DBasicTest::onTouchesEnded, this);
162 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
163
164 auto s = Director::getInstance()->getWinSize();
165 addNewSpriteWithCoords(Vec2(s.width / 2, s.height / 2));
166}
void addNewSpriteWithCoords(cocos2d::Vec2 p)
void onTouchesEnded(const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)

引用了 addNewSpriteWithCoords() , 以及 onTouchesEnded().

+ 函数调用图:

成员函数说明

◆ addNewSpriteWithCoords()

void Sprite3DBasicTest::addNewSpriteWithCoords ( cocos2d::Vec2  p)

在文件 Sprite3DTest.cpp168 行定义.

169{
170 //int idx = (int)(CCRANDOM_0_1() * 1400.0f / 100.0f);
171 //int x = (idx%5) * 85;
172 //int y = (idx/5) * 121;
173
174// //option 1: load a obj that contain the texture in it
175// auto sprite = Sprite3D::create("sprite3dTest/scene01.obj");
176
177 //option 2: load obj and assign the texture
178 auto sprite = Sprite3D::create("Sprite3DTest/boss1.obj");
179 sprite->setScale(3.f);
180 sprite->setTexture("Sprite3DTest/boss.png");
181
182 //
183 //sprite->setEffect(cocos2d::EFFECT_OUTLINE);
184
185 //add to scene
186 addChild(sprite);
187
188 sprite->setPosition(Vec2(p.x, p.y));
189
190 ActionInterval* action;
191 float random = CCRANDOM_0_1();
192
193 if (random < 0.20)
194 action = ScaleBy::create(3, 2);
195 else if (random < 0.40)
196 action = RotateBy::create(3, 360);
197 else if (random < 0.60)
198 action = Blink::create(1, 3);
199 else if (random < 0.8)
200 action = TintBy::create(2, 0, -255, -255);
201 else
202 action = FadeOut::create(2);
203 auto action_back = action->reverse();
204 auto seq = Sequence::create(action, action_back, nullptr);
205
206 sprite->runAction(RepeatForever::create(seq));
207}

被这些函数引用 onTouchesEnded() , 以及 Sprite3DBasicTest().

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

◆ CREATE_FUNC()

Sprite3DBasicTest::CREATE_FUNC ( Sprite3DBasicTest  )

◆ onTouchesEnded()

void Sprite3DBasicTest::onTouchesEnded ( const std::vector< cocos2d::Touch * > &  touches,
cocos2d::Event *  event 
)

在文件 Sprite3DTest.cpp209 行定义.

210{
211 for (auto touch : touches)
212 {
213 auto location = touch->getLocation();
214
215 addNewSpriteWithCoords(location);
216 }
217}

引用了 addNewSpriteWithCoords().

被这些函数引用 Sprite3DBasicTest().

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

◆ subtitle()

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

重载 TestCase .

在文件 Sprite3DTest.cpp224 行定义.

225{
226 return "Tap screen to add more sprites";
227}

◆ title()

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

重载 Sprite3DTestDemo .

在文件 Sprite3DTest.cpp219 行定义.

220{
221 return "Testing Sprite3D";
222}

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