web-dev-qa-db-ja.com

C#Windowsフォームを使用してスムーズなアニメーションを作成するにはどうすればよいですか?

学校のプロジェクトのため、Windowsフォームのみを使用してゲームを作成する必要があります。

2Dレーシングゲームを作成することにしました。だから今、私は車の画像を移動する必要があります。それを動かすために、KeyDownイベントで車をアニメーション化しようとしましたが、アニメーションは本当に落ち込んでいます。アニメーションを作成する他の方法はありますか?それともどういうわけかそれをなだめることは可能ですか? (車の場合、フォームにドッキングされたPictureBoxを使用し、そのペイントイベントで車を正しいウィンドウ位置に再描画します。)

6
HuMMeR-SI

この投稿はあなたの問題を解決するはずです: simple-animation-using-c-windows-forms

彼は、Windowsフォームでアニメーションをコーディングする方法を詳しく説明し、いくつかの質問を取り上げます。

それでも問題が解決しない場合は、Freemanが言ったようにいくつかのXNAライブラリを使用して調べてください。

6
Kobunite

あなたが提供した詳細から、私はこれを言うことができます、ミニゲームを作成したい場合、WinFormsは非常に印象的なグラフィック体験を可能にするために実際には切り取られていないので、いくつかのXNAライブラリでWPFを使用することをお勧めします簡単なGUIツールの作成。時には、ダブルバッファリングでさえあまり役に立たないことがあります。

2
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のような大きな数に;したがって、このタラでは矢印キーを使用しますが、左右にのみ移動するため、繰り返し前方に運転するため、左右のみに移動します。

0
djhd