【问题标题】:XNA - How to place my particle engine/emitter on a bouncing ball?XNA - 如何将我的粒子引擎/发射器放在弹跳球上?
【发布时间】:2013-07-26 10:07:43
【问题描述】:

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

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

在 Game1.cs 的 Update 方法中。

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

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

【问题讨论】:

    标签: xna system particle-engine


    【解决方案1】:

    将粒子引擎的引用传递给 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);
        }
    }
    

    我不知道您的粒子引擎是如何工作的,也不知道您的代码结构如何,但根据所提供的信息,我已尽力实现一个易于理解的示例。

    【讨论】:

    • 这有帮助吗?如果没有,请提供更多信息,包括您的 Ball 课程,以便我为您提供帮助。
    猜你喜欢
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多