0

我有一个粒子引擎,它在我的鼠标位置创建一个发射器。

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

它在 Game1.cs 的 Update 方法中。

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

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

4

1 回答 1

0

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

例子:

Game1,初始化(例如):

ParticleEngine particleEngine = new ParticleEngine();
Ball ball = new Ball(particleEngine);

在球类中:

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);
    }
}

我不知道您的粒子引擎是如何工作的,也不知道您的代码结构如何,但是根据给出的信息,我尽力实现了一个可以理解的示例。

于 2013-07-26T12:31:31.780 回答