由於我的學校項目我必須使用Windows窗體創建遊戲。如何使用C#Windows窗體創建流暢的動畫?
我決定創建一個2D賽車遊戲。所以現在我需要移動汽車圖像。 要移動它,我嘗試使用KeyDown事件來動畫汽車,但是動畫確實是Faltering .. 那麼是否有其他方法來創建動畫?或者是否有可能以某種方式將其解決? (對於汽車,我使用停靠在窗體上的PictureBox,並在其繪畫事件中將車輛重新繪製在右窗口位置。)
由於我的學校項目我必須使用Windows窗體創建遊戲。如何使用C#Windows窗體創建流暢的動畫?
我決定創建一個2D賽車遊戲。所以現在我需要移動汽車圖像。 要移動它,我嘗試使用KeyDown事件來動畫汽車,但是動畫確實是Faltering .. 那麼是否有其他方法來創建動畫?或者是否有可能以某種方式將其解決? (對於汽車,我使用停靠在窗體上的PictureBox,並在其繪畫事件中將車輛重新繪製在右窗口位置。)
這篇文章應該可以解決你的問題: simple-animation-using-c-windows-forms
他詳細介紹他是如何繞到在Windows窗體中的編碼動畫和介紹一些您的問題。如果這樣不能解決問題,請使用一些XNA庫查找Freeman說的。
從您提供的細節中,我可以這樣說,如果您希望創建一個迷你遊戲,我會建議你使用WPF和一些XNA庫,因爲WinForms並不是真的被切出來讓一個非常有吸引力的圖形體驗,而是它傾向於創建簡單的GUI工具。有時候甚至不需要加倍緩衝幫助很大。
它爲SCHOOL項目...我不能使用任何其他方式.. –
一些XNA庫也可以用於Windows窗體在這種情況下,這些庫是專門設計用於優化管理運行時的圖形渲染。 – Freeman
以及可以使一個運動的動畫系統
int x = pictureBox1.Location.X;
int y = pictureBox1.Location.Y;
if (e.KeyCode == Keys.Right) x += 1;
else if (e.KeyCode == Keys.Left) x -= 1;
pictureBox1.Location = new Point(x, y);
,使其更快改變X + = 1的x = 1和y + = 1 Y- = 1;更大的數字,如y x- = 3; 所以在這個鱈魚,你是你的箭頭鍵,但只有左和右,因爲你將駕駛前鋒再次所以你只能左右移動
我建議你閱讀雙緩衝。 – lahsrah
相當大的話題。這個線程可能會提供一些指針:http://stackoverflow.com/questions/188349/simple-animation-using-c-windows-forms –
發佈你到目前爲止所做的。 –