本文整理汇总了C++中ParticleSystemQuad::setDuration方法的典型用法代码示例。如果您正苦于以下问题:C++ ParticleSystemQuad::setDuration方法的具体用法?C++ ParticleSystemQuad::setDuration怎么用?C++ ParticleSystemQuad::setDuration使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParticleSystemQuad
的用法示例。
在下文中一共展示了ParticleSystemQuad::setDuration方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: touchEnded
void BirdMode::touchEnded(Touch *touch) {
auto emitPtr = _touches.find(touch);
ParticleSystemQuad *emit = nullptr;
auto touchPos = this->convertToNodeSpace(touch->getLocation());
if (emitPtr != _touches.end()) {
emit = emitPtr->second.emitter;
touchPos.x = XtoAB(touchPos.x, getChordMaxX(), getNoteMaxX());
noteTouchEnded(getTouchLocation(touchPos), &emitPtr->second);
}
else if (firstTouch.first == touch) {
emit = firstTouch.second.emitter;
touchPos.x = XtoAB(touchPos.x, 0, getChordMaxX());
chordTouchEnded(getTouchLocation(touchPos), &firstTouch.second);
firstTouch.first = 0;
}
else
return;
if (emit) {
emit->setPosition(touchPos);
emit->setDuration(0.2);
emit->setSpeed(emit->getSpeed() * 2);
emit->setAutoRemoveOnFinish(true);
_touches.erase(touch);
}
}
示例2: UI_addParticle
void StarNode::UI_addParticle(){
Point delta = _starRef->getStartPoint() - _starRef->getEndPoint();
//出一个星星试试
ParticleSystemQuad *particle = CCParticleSystemQuad::create("Shoot.plist");
this->addChild( particle );
particle->setDuration( _starRef->getDuration() ); //持续时间
particle->setPosition( Point() );
//上270下90左0右180
float x = delta.x;
float y = delta.y;
float angle ;
if ( ( delta.x > -0.01 || delta.x < 0.01 ) ) {
angle = 270;
}else{
angle = fabs( atanf( delta.y/delta.x ) *180/3.1415 );
}
if ( x >= 0 && y > 0) {
}else if ( x < 0 && y >= 0 ){
angle += 90;
}else if ( x < 0 && y <= 0 ){
angle += 180;
}else if ( x >= 0 && y < 0 ){
angle += 270;
}
particle->setAngle( angle );
particle->setAngleVar( 0 );
}
示例3: testCollin
//碰撞检测
void StartGame::testCollin(float dt){
auto visibleSize=Director::getInstance()->getWinSize();
__Array *tempItemArray=__Array::create();
tempItemArray->retain();
Item *item;
for (int i=0; i<itemArray->count(); i++) {
item=(Item*)itemArray->getObjectAtIndex(i);
if (Tools::isCollision(hook, item)&&!hook->hookAction&&!item->itemAction) {
hook->stopAllActions();
miner->MinerAction();
tempItemArray->addObject(item);
hook->hookAction = true;
item->itemAction=true;
if (toggle->getSelectedIndex()==1) {
dt=0.5;
}else{
dt=2.0;
}
auto move=MoveTo::create(dt, Vec2(visibleSize.width/2-5,visibleSize.height/2-20));
auto call=CallFunc::create(CC_CALLBACK_0(StartGame::move, this));
auto sequence=Sequence::create(move,call, NULL);
hook->runAction(sequence);
if (item->itemAction) {
item->setRotation(hook->getRotation());
item->setAnchorPoint(Point(0.5, 1));
hook->setAnchorPoint(Point(0.5, 0.7));
item->setPosition(hook->getPosition());
hook->setAnchorPoint(Point(0.5, 1));
}
if (item->_type==diamond||item->_type==secret) {
ParticleSystemQuad* quad = ParticleSystemQuad::create("Boom.plist");
quad->setBlendAdditive(true);
quad->setAutoRemoveOnFinish(true);
quad->setPosition(item->getPosition());
quad->setDuration(0.2);
this->addChild(quad);
}
auto move1=MoveTo::create(dt, Vec2(visibleSize.width/2-5,visibleSize.height/2-20));
auto call1=CallFuncN::create(CC_CALLBACK_1(StartGame::removeItem, this));
auto sequence1=Sequence::create(move1,call1, NULL);
item->runAction(sequence1);
}
}
itemArray->removeObjectsInArray(tempItemArray);
tempItemArray->release();
}
示例4: update
void ChainReactionScene::update(float df)
{
for ( size_t i = 0; i < _ballClones.size(); ++i )
{
_ballClones[i]->update(df);
if ( _lastExplosion && Util::collides(_lastExplosion, _ballClones[i] ) )
{
++_chainedExplosionCount;
ParticleSystemQuad* particleSystem = ParticleExplosion::create();
this->addChild(particleSystem, 10);
particleSystem->setTexture( Director::getInstance()->getTextureCache()->addImage("Stars2.png") );
particleSystem->setAutoRemoveOnFinish(true);
particleSystem->setPosition( _ballClones[i]->getPosition() );
particleSystem->setDuration(1.0f);
// Update the score
_currenPlayerScore->addPoints(_chainedExplosionCount);
log("Removing child %zi", i + 1);
removeChild(_ballClones[i]);
_ballClones.erase( _ballClones.begin() + i );
}
}
}