PuzzleSDK
ParticleReorder类 参考

#include <ParticleTest.h>

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

Public 成员函数

 CREATE_FUNC (ParticleReorder)
 
virtual void onEnter () override
 
void reorderParticles (float dt)
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
- Public 成员函数 继承自 ParticleDemo
 ~ParticleDemo ()
 
void toggleCallback (cocos2d::Ref *sender)
 
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)
 
virtual void update (float dt) override
 
void setEmitterPosition ()
 
- 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
 

Private 属性

unsigned int _order
 

额外继承的成员函数

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

详细描述

在文件 ParticleTest.h284 行定义.

成员函数说明

◆ CREATE_FUNC()

ParticleReorder::CREATE_FUNC ( ParticleReorder  )

◆ onEnter()

void ParticleReorder::onEnter ( )
overridevirtual

重载 ParticleDemo .

在文件 ParticleTest.cpp1297 行定义.

1298{
1300
1301 _order = 0;
1302 _color->setColor(Color3B::BLACK);
1303 removeChild(_background, true);
1304 _background = nullptr;
1305
1306 auto ignore = ParticleSystemQuad::create("Particles/SmallSun.plist");
1307 auto parent1 = Node::create();
1308 auto parent2 = ParticleBatchNode::createWithTexture(ignore->getTexture());
1309 ignore->unscheduleUpdate();
1310
1311 for( unsigned int i=0; i<2;i++)
1312 {
1313 auto parent = ( i==0 ? parent1 : parent2 );
1314
1315 auto emitter1 = ParticleSystemQuad::create("Particles/SmallSun.plist");
1316 emitter1->setStartColor(Color4F(1,0,0,1));
1317 emitter1->setBlendAdditive(false);
1318 auto emitter2 = ParticleSystemQuad::create("Particles/SmallSun.plist");
1319 emitter2->setStartColor(Color4F(0,1,0,1));
1320 emitter2->setBlendAdditive(false);
1321 auto emitter3 = ParticleSystemQuad::create("Particles/SmallSun.plist");
1322 emitter3->setStartColor(Color4F(0,0,1,1));
1323 emitter3->setBlendAdditive(false);
1324
1325 auto s = Director::getInstance()->getWinSize();
1326
1327 int neg = (i==0 ? 1 : -1 );
1328
1329 emitter1->setPosition(Vec2( s.width/2-30, s.height/2+60*neg));
1330 emitter2->setPosition(Vec2( s.width/2, s.height/2+60*neg));
1331 emitter3->setPosition(Vec2( s.width/2+30, s.height/2+60*neg));
1332
1333 parent->addChild(emitter1, 0, 1);
1334 parent->addChild(emitter2, 0, 2);
1335 parent->addChild(emitter3, 0, 3);
1336
1337 addChild(parent, 10, 1000+i);
1338 }
1339
1340 schedule(CC_SCHEDULE_SELECTOR(ParticleReorder::reorderParticles), 1.0f);
1341}
cocos2d::Sprite * _background
Definition: ParticleTest.h:36
virtual void onEnter() override
cocos2d::LayerColor * _color
Definition: ParticleTest.h:37
unsigned int _order
Definition: ParticleTest.h:293
void reorderParticles(float dt)

引用了 ParticleDemo::_background, ParticleDemo::_color, _order, ParticleDemo::onEnter() , 以及 reorderParticles().

+ 函数调用图:

◆ reorderParticles()

void ParticleReorder::reorderParticles ( float  dt)

在文件 ParticleTest.cpp1353 行定义.

1354{
1355 for( int i=0; i<2;i++) {
1356 auto parent = getChildByTag(1000+i);
1357
1358 auto child1 = parent->getChildByTag(1);
1359 auto child2 = parent->getChildByTag(2);
1360 auto child3 = parent->getChildByTag(3);
1361
1362 if( _order % 3 == 0 ) {
1363 parent->reorderChild(child1, 1);
1364 parent->reorderChild(child2, 2);
1365 parent->reorderChild(child3, 3);
1366
1367 } else if (_order % 3 == 1 ) {
1368 parent->reorderChild(child1, 3);
1369 parent->reorderChild(child2, 1);
1370 parent->reorderChild(child3, 2);
1371
1372 } else if (_order % 3 == 2 ) {
1373 parent->reorderChild(child1, 2);
1374 parent->reorderChild(child2, 3);
1375 parent->reorderChild(child3, 1);
1376 }
1377 }
1378
1379 _order++;
1380}

引用了 _order.

被这些函数引用 onEnter().

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

◆ subtitle()

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

重载 ParticleDemo .

在文件 ParticleTest.cpp1348 行定义.

1349{
1350 return "Reordering particles with and without batches batches";
1351}

◆ title()

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

重载 ParticleDemo .

在文件 ParticleTest.cpp1343 行定义.

1344{
1345 return "Reordering particles";
1346}

类成员变量说明

◆ _order

unsigned int ParticleReorder::_order
private

在文件 ParticleTest.h293 行定义.

被这些函数引用 onEnter() , 以及 reorderParticles().


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