我正在創建一個遊戲,玩家在屏幕中間繪製。爲了修改玩家的望着,我使用下面的代碼行的方向: 在播放器類,在Draw()函數:如果我使用旋轉,Spritebatch將不會繪製
//Draw player
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(currentTexture, position, null, Color.White, rotation, centre, 1.0f, SpriteEffects.None, 0f);
}
我打電話說功能Draw()函數中的主要類:
//Draw
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.Black);
spriteBatch.Begin();
//Draw player
player.Draw(spriteBatch);
spriteBatch.End();
base.Draw(gameTime);
}
玩家沒有被繪製,也沒有錯誤出現。
奇怪的是,我已經使用了這個完全相同的代碼來繪製我在兩天前做的遊戲,它工作正常。
如果我用下面的線代替,玩家繪製的,但我沒有離開,除非我用不同的紋理爲每個方向修改輪換球員的能力:
spriteBatch.Draw(currentTexture, position, Color.White);
我猜測問題出在你設定了原點。你的中心矢量。嘗試使用Vector2.Zero而不是中心,看看會發生什麼。 – deathismyfriend
在繪製玩家之前不應該調用'base.Draw(gameTime);' – Cyclonecode
謝謝,@deathismyfriend,解決了它! – Bensas