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

时间:2013-07-26 10:07:44

标签: xna system particle-engine

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

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

它位于Game1.cs中的Update方法中。

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

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

1 个答案:

答案 0 :(得分:0)

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

示例:

Game1,Initialize(例如):

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

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