Эффект частиц [Меняет ли CCParticleSystemQuad свою позицию относительно своего родителя]

У меня есть система частиц, которую я использую следующим образом

  DustParticle = CCParticleSystemQuad::create("dust_texture.plist");
Vec2 pos =   Vec2(
BadSprite->getPositionX()
BadSprite->getPositionY()
);
Vec2 World = BadSprite->getParent()->convertToWorldSpace(pos);
Vec2 Node =  BadSprite->convertToNodeSpace(World);
DustParticle->setPosition(Node);

BadSprite->addChild(DustParticle);

Теперь вот что происходит, BadSprites движется влево, однако эффект частиц кажется застрявшим в том положении, в котором он был запущен, разве он также не предполагает, что он двигается влево, когда его родитель перемещается влево? Любые предложения о том, что может происходить? Эффекты частиц ведут себя иначе, когда прикреплены как дети. Я знаю, если я прикрепил спрайт, он будет следовать за родителем.

0

Решение

Нет, эффекты частиц должны следовать за спрайтом. Я подключил их даже к узлу (SpriterNode, созданному молодым Питером, http://weibo.com/young40) вот так и все заработало нормально

_characterNode = SpriterNode::create(nameScml,namePng);
_characterNode->setContentSize(sprObject->getContentSize());
this->addChild(_characterNode);

power[0] = ParticleSystemQuad::create("particle_light.plist"); // it was an array of effects on the one object
power[0]->setPosition(0, 0.5 * _characterNode->getContentSize().height);
_characterNode->addChild(power[0]);

Я вижу, вы используете CCParticleSystemQuadТаким образом, это старая версия Cocos2d-x. Может быть, это только так? Мой пример написан в версии 3.6. Попробуйте эту версию.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector