protected createParticleAnimation ( data: IAnticipationParticle ): particles.Emitter {
let particleResource = PIXI.loader.resources[ data.name ].data;
let particleImages: Array<Texture> = new Array<Texture>();
let container = new particles.ParticleContainer();
container.scale.set( 1, -1 );
let spineAnim = this.anticipationAnimations[ 0 ] as spine.Spine;
spineAnim.slotContainers.forEach( ( slotContainer: Container ) => {
if ( slotContainer.name == 'CoinParticles' ) {
container.position.set( slotContainer.children[ 0 ].x * 2, slotContainer.children[ 0 ].y * 2 );
slotContainer.addChild( container );
return;
}
} );
data.images.forEach( ( image: string ) => {
particleImages.push( PIXI.Texture.fromImage( image ) );
} );
let animation = new PIXI.particles.Emitter(
container,
particleImages,
particleResource
);
animation.emit = false;
animation.autoUpdate = true;
return animation;
}
所以我在另一个函数中创建我的脊椎动画,然后创建我的粒子效果,如上所示,并将它附加到我的脊椎动画内的 slotContainer。但是当我的脊椎动画播放时,粒子总是跟随父母的位置并且不保持他们的世界坐标。
我相信这是因为脊椎,但有人对如何解决这个问题有任何想法吗?
因此,例如,当发射器移动已经生成的粒子时,它们会跟随发射器的 x 位置