2012-07-16 104 views
0

我試圖在XNA中製作瓷磚基地運動,但我不知道如何。我的瓷磚是32x32,精靈是相同的大小。瓷磚基地運動

這是我使用移動精靈的代碼:

if (Keyboard.GetState().IsKeyDown(Keys.Up)) 
    { 
     Position.Y -= Speed.Y; 
    } 
    if (Keyboard.GetState().IsKeyDown(Keys.Down)) 
    { 
     Position.Y += Speed.Y; 
    } 

...,並與其他2項相同。

我想讓我的精靈在當時移動平滑,一個確切的瓷磚,但不是「跳」到瓷磚。 對不起,我的英語不好,謝謝。

回答

0

您需要根據已經過的時間量來更改精靈的位置。因此,如果你的速度是每秒32px,並且經過時間是60秒(60fps),那麼你只需要移動精靈32 * (1/60)像素每次更新。

使用Update(GameTime gameTime)參數可獲取自上次更新以來經過的時間。

+0

好吧,但是當我停止按下鍵時,精靈停止移動,並且不會到達另一個拼貼。速度是:32 * gameTime.ElapsedGameTime.TotalSeconds; – Isheros 2012-07-16 05:21:52

+0

您需要設置一個目標位置,而不僅僅是當按下該鍵時。因此,請設置一個表示目標位置的字段,並繼續移動,直到達到該值。 – 2012-07-16 06:04:28