PuzzleSDK
Particle3DTestDemo类 参考

#include <Particle3DTest.h>

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

Public 成员函数

 CREATE_FUNC (Particle3DTestDemo)
 
 Particle3DTestDemo ()
 
virtual ~Particle3DTestDemo ()
 
virtual bool init () override
 
virtual std::string title () const override
 
virtual void update (float delta) override
 
void onTouchesBegan (const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
 
void onTouchesMoved (const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
 
void onTouchesEnded (const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
 
- Public 成员函数 继承自 TestCase
 TestCase ()
 
 ~TestCase ()
 
virtual std::string subtitle () const
 
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::string _title
 
cocos2d::Camera * _camera
 
cocos2d::Label * _particleLab
 
float _angle
 
- 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
 

详细描述

在文件 Particle3DTest.h35 行定义.

构造及析构函数说明

◆ Particle3DTestDemo()

Particle3DTestDemo::Particle3DTestDemo ( void  )

在文件 Particle3DTest.cpp116 行定义.

117: _angle(0.0f)
118{
119
120}

◆ ~Particle3DTestDemo()

Particle3DTestDemo::~Particle3DTestDemo ( void  )
virtual

在文件 Particle3DTest.cpp141 行定义.

142{
143 _particleLab->release();
144}
cocos2d::Label * _particleLab

引用了 _particleLab.

成员函数说明

◆ CREATE_FUNC()

Particle3DTestDemo::CREATE_FUNC ( Particle3DTestDemo  )

◆ init()

bool Particle3DTestDemo::init ( )
overridevirtual

Particle3DAdvancedLodSystemDemo, Particle3DBlackHoleDemo, Particle3DHypnoDemo, Particle3DTimeShiftDemo, Particle3DUVAnimDemo, Particle3DFirePlaceDemo, Particle3DLineStreakDemo, Particle3DElectricBeamSystemDemo, Particle3DFlareShieldDemo, Particle3DLightningBoltDemo, Particle3DExplosionSystemDemo, Particle3DCanOfWormsDemo, Particle3DRibbonTrailDemo, Particle3DWeaponTrailDemo , 以及 Particle3DWithSprite3DDemo 重载.

在文件 Particle3DTest.cpp59 行定义.

60{
61 if (!TestCase::init()) return false;
62
63 FileUtils::getInstance()->addSearchPath("Particle3D/materials");
64 FileUtils::getInstance()->addSearchPath("Particle3D/scripts");
65 FileUtils::getInstance()->addSearchPath("Sprite3DTest");
66 //FileUtils::getInstance()->addSearchPath("Particle3D/textures");
67
68 Size size = Director::getInstance()->getWinSize();
69 _camera = Camera::createPerspective(30.0f, size.width / size.height, 1.0f, 1000.0f);
70 _camera->setPosition3D(Vec3(0.0f, 0.0f, 100.0f));
71 _camera->lookAt(Vec3(0.0f, 0.0f, 0.0f), Vec3(0.0f, 1.0f, 0.0f));
72 _camera->setCameraFlag(CameraFlag::USER1);
73 this->addChild(_camera);
74
75 auto listener = EventListenerTouchAllAtOnce::create();
76 listener->onTouchesBegan = CC_CALLBACK_2(Particle3DTestDemo::onTouchesBegan, this);
77 listener->onTouchesMoved = CC_CALLBACK_2(Particle3DTestDemo::onTouchesMoved, this);
78 listener->onTouchesEnded = CC_CALLBACK_2(Particle3DTestDemo::onTouchesEnded, this);
79 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
80
81
82 TTFConfig config("fonts/tahoma.ttf",10);
83 _particleLab = Label::createWithTTF(config,"Particle Count: 0",TextHAlignment::LEFT);
84 _particleLab->retain();
85 _particleLab->setPosition(Vec2(0.0f, size.height / 6.0f));
86 _particleLab->setAnchorPoint(Vec2(0.0f, 0.0f));
87 this->addChild(_particleLab);
88
89 scheduleUpdate();
90 return true;
91}
void onTouchesMoved(const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
cocos2d::Camera * _camera
void onTouchesEnded(const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
void onTouchesBegan(const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)

引用了 _camera, _particleLab, onTouchesBegan(), onTouchesEnded() , 以及 onTouchesMoved().

被这些函数引用 Particle3DAdvancedLodSystemDemo::init(), Particle3DBlackHoleDemo::init(), Particle3DHypnoDemo::init(), Particle3DTimeShiftDemo::init(), Particle3DUVAnimDemo::init(), Particle3DFirePlaceDemo::init(), Particle3DLineStreakDemo::init(), Particle3DElectricBeamSystemDemo::init(), Particle3DFlareShieldDemo::init(), Particle3DLightningBoltDemo::init(), Particle3DExplosionSystemDemo::init(), Particle3DCanOfWormsDemo::init(), Particle3DRibbonTrailDemo::init(), Particle3DWeaponTrailDemo::init() , 以及 Particle3DWithSprite3DDemo::init().

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

◆ onTouchesBegan()

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

在文件 Particle3DTest.cpp93 行定义.

94{
95
96}

被这些函数引用 init().

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

◆ onTouchesEnded()

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

在文件 Particle3DTest.cpp111 行定义.

112{
113
114}

被这些函数引用 init().

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

◆ onTouchesMoved()

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

在文件 Particle3DTest.cpp98 行定义.

99{
100 if (touches.size())
101 {
102 auto touch = touches[0];
103 auto delta = touch->getDelta();
104
105 _angle -= CC_DEGREES_TO_RADIANS(delta.x);
106 _camera->setPosition3D(Vec3(100.0f * sinf(_angle), 0.0f, 100.0f * cosf(_angle)));
107 _camera->lookAt(Vec3(0.0f, 0.0f, 0.0f), Vec3(0.0f, 1.0f, 0.0f));
108 }
109}

引用了 _angle , 以及 _camera.

被这些函数引用 init().

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

◆ title()

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

重载 TestCase .

在文件 Particle3DTest.cpp54 行定义.

55{
56 return "Particle3D Test";
57}

◆ update()

void Particle3DTestDemo::update ( float  delta)
overridevirtual

在文件 Particle3DTest.cpp122 行定义.

123{
124 ParticleSystem3D *ps = static_cast<ParticleSystem3D *>(this->getChildByTag(PARTICLE_SYSTEM_TAG));
125 if (ps){
126 unsigned int count = 0;
127 auto children = ps->getChildren();
128 for (auto iter : children){
129 ParticleSystem3D *child = dynamic_cast<ParticleSystem3D *>(iter);
130 if (child){
131 count += child->getAliveParticleCount();
132 }
133 }
134
135 char str[128];
136 sprintf(str, "Particle Count: %d", count);
137 _particleLab->setString(str);
138 }
139}
#define PARTICLE_SYSTEM_TAG

引用了 _particleLab , 以及 PARTICLE_SYSTEM_TAG.

类成员变量说明

◆ _angle

float Particle3DTestDemo::_angle
protected

在文件 Particle3DTest.h55 行定义.

被这些函数引用 onTouchesMoved().

◆ _camera

cocos2d::Camera* Particle3DTestDemo::_camera
protected

在文件 Particle3DTest.h53 行定义.

被这些函数引用 init() , 以及 onTouchesMoved().

◆ _particleLab

cocos2d::Label* Particle3DTestDemo::_particleLab
protected

在文件 Particle3DTest.h54 行定义.

被这些函数引用 init(), update() , 以及 ~Particle3DTestDemo().

◆ _title

std::string Particle3DTestDemo::_title
protected

在文件 Particle3DTest.h52 行定义.


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