PuzzleSDK
RainbowEffect类 参考
+ 类 RainbowEffect 继承关系图:
+ RainbowEffect 的协作图:

Public 成员函数

bool init () override
 
virtual bool initWithTotalParticles (int numberOfParticles) override
 
virtual void update (float dt) override
 

详细描述

在文件 ParticleTest.cpp1382 行定义.

成员函数说明

◆ init()

bool RainbowEffect::init ( )
override

在文件 ParticleTest.cpp1390 行定义.

1391{
1392 return initWithTotalParticles(150);
1393}
virtual bool initWithTotalParticles(int numberOfParticles) override

引用了 initWithTotalParticles().

+ 函数调用图:

◆ initWithTotalParticles()

bool RainbowEffect::initWithTotalParticles ( int  numberOfParticles)
overridevirtual

在文件 ParticleTest.cpp1395 行定义.

1396{
1397 if( ParticleSystemQuad::initWithTotalParticles(numberOfParticles) )
1398 {
1399 // additive
1400 setBlendAdditive(false);
1401
1402 // duration
1403 setDuration(ParticleSystem::DURATION_INFINITY);
1404
1405 // Gravity Mode
1406 setEmitterMode(ParticleSystem::Mode::GRAVITY);
1407
1408 // Gravity Mode: gravity
1409 setGravity(Vec2(0.0f,0.0f));
1410
1411 // Gravity mode: radial acceleration
1412 setRadialAccel(0);
1413 setRadialAccelVar(0);
1414
1415 // Gravity mode: speed of particles
1416 setSpeed(120);
1417 setSpeedVar(0);
1418
1419
1420 // angle
1421 setAngle(180);
1422 setAngleVar(0);
1423
1424 // emitter position
1425 auto winSize = Director::getInstance()->getWinSize();
1426 setPosition(Vec2(winSize.width/2, winSize.height/2));
1427 setPosVar(Vec2::ZERO);
1428
1429 // life of particles
1430 setLife(0.5f);
1431 setLifeVar(0);
1432
1433 // size, in pixels
1434 setStartSize(25.0f);
1435 setStartSizeVar(0);
1436 setEndSize(ParticleSystem::START_SIZE_EQUAL_TO_END_SIZE);
1437
1438 // emits per seconds
1439 setEmissionRate(getTotalParticles()/getLife());
1440
1441 // color of particles
1442 setStartColor(Color4F(Color4B(50, 50, 50, 50)));
1443 setEndColor(Color4F(Color4B(0, 0, 0, 0)));
1444
1445 _startColorVar.r = 0.0f;
1446 _startColorVar.g = 0.0f;
1447 _startColorVar.b = 0.0f;
1448 _startColorVar.a = 0.0f;
1449 _endColorVar.r = 0.0f;
1450 _endColorVar.g = 0.0f;
1451 _endColorVar.b = 0.0f;
1452 _endColorVar.a = 0.0f;
1453
1454 setTexture(Director::getInstance()->getTextureCache()->addImage("Images/particles.png"));
1455 return true;
1456 }
1457
1458 return false;
1459}

被这些函数引用 init() , 以及 Issue1201::onEnter().

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

◆ update()

void RainbowEffect::update ( float  dt)
overridevirtual

在文件 ParticleTest.cpp1461 行定义.

1462{
1463 _emitCounter = 0;
1464 ParticleSystemQuad::update(dt);
1465}

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