XNA - 如何将我的粒子引擎/发射器放置在弹跳球上?

我有一个粒子引擎,它在我的鼠标位置创建一个发射器。XNA - 如何将我的粒子引擎/发射器放置在弹跳球上?

particleEngine.EmitterLocation = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); 

它在Game1.cs的Update方法中。

我有另一个叫做Ball.cs的类,它的弹跳物理和Texture2D纹理; Vector2位置。

现在我该如何让发射器/粒子跟随球?

回答:

将对particleEngine的引用传递给Ball类并将EmitterLocation设置为球的位置。

例子:

的Game1,初始化(例如):

ParticleEngine particleEngine = new ParticleEngine(); 

Ball ball = new Ball(particleEngine);

在Ball类:

class Ball 

{

ParticleEngine particleEngine;

Vector2 position;

public Ball(ParticleEngine particleEngine)

{

this.particleEngine = particleEngine;

}

public void Update(GameTime gameTime)

{

//Update position

particleEngine.EmitterLocation = new Vector2(this.position.X, this.position.Y);

}

}

我不知道你的粒子引擎是如何工作或任何事你的代码结构,但是给出的信息我尽我所能实现了一个可理解的例子。

以上是 XNA - 如何将我的粒子引擎/发射器放置在弹跳球上? 的全部内容, 来源链接: utcz.com/qa/263942.html

回到顶部