佚名通过本文主要向大家介绍了cocos2d粒子特效,cocos2d粒子编辑器,cocos2d粒子系统,cocos2d特效,cocos2d特效教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: cocos2d粒子特效问题
描述:
ParticleSystem* particle;
switch (attack)
{
case 20:
particle = ParticleSystemQuad::create("huoyan.plist");
particle->setPositionType(ParticleSystem::PositionType::FREE);
particle->setAutoRemoveOnFinish(true);
break;
case 50:
particle = ParticleSystemQuad::create("shandian.plist");
particle->setPositionType(ParticleSystem::PositionType::FREE);
particle->setAutoRemoveOnFinish(true);
break;
case 70:
particle = ParticleSystemQuad::create("duqi.plist");
particle->setPositionType(ParticleSystem::PositionType::FREE);
particle->setAutoRemoveOnFinish(true);
break;
default:
break;
}
return particle;
}
我想通过传进来的不同参数创建不同的粒子特效,可是在创建以后不同特效间会有影响,比如第一个是火焰效果,第二个也会有类似的效果,每次都只有第一个创建的粒子是正常效果,这是为什么呢
ParticleSystem *particle=this->getParticleWithAttack(attack);
particle->setBlendAdditive(true);
particle->setPosition(Vec2(monster->getPosition().x + 10, monster->getPosition().y));
this->addChild(particle, 1, 7);
这是我调用时的代码,这样不同的特效为什么会冲突呢,是用swich语句来创建的啊
描述:
cocos2d
ParticleSystem* FightScene::getParticleWithAttack(int attack){ParticleSystem* particle;
switch (attack)
{
case 20:
particle = ParticleSystemQuad::create("huoyan.plist");
particle->setPositionType(ParticleSystem::PositionType::FREE);
particle->setAutoRemoveOnFinish(true);
break;
case 50:
particle = ParticleSystemQuad::create("shandian.plist");
particle->setPositionType(ParticleSystem::PositionType::FREE);
particle->setAutoRemoveOnFinish(true);
break;
case 70:
particle = ParticleSystemQuad::create("duqi.plist");
particle->setPositionType(ParticleSystem::PositionType::FREE);
particle->setAutoRemoveOnFinish(true);
break;
default:
break;
}
return particle;
}
我想通过传进来的不同参数创建不同的粒子特效,可是在创建以后不同特效间会有影响,比如第一个是火焰效果,第二个也会有类似的效果,每次都只有第一个创建的粒子是正常效果,这是为什么呢
ParticleSystem *particle=this->getParticleWithAttack(attack);
particle->setBlendAdditive(true);
particle->setPosition(Vec2(monster->getPosition().x + 10, monster->getPosition().y));
this->addChild(particle, 1, 7);
这是我调用时的代码,这样不同的特效为什么会冲突呢,是用swich语句来创建的啊