2013-07-26 21 views
0

我有一個粒子引擎,它在我的鼠標位置創建一個發射器。XNA - 如何將我的粒子引擎/發射器放置在彈跳球上?

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

它在Game1.cs的Update方法中。

我有另一個叫做Ball.cs的類,它的彈跳物理和Texture2D紋理; Vector2位置。

現在我該如何讓發射器/粒子跟隨球?

回答

0

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

我不知道你的粒子引擎是如何工作或任何事你的代碼結構,但是給出的信息我盡我所能實現了一個可理解的例子。

+0

是這個幫助嗎?如果沒有,請提供更多信息,包括您的球類,以便我可以幫助您。 – Sane