2011-10-31 8 views
1

私は新しい言語であるゲームCを作成しています。C#の回転パネル

私はキーボード上のキーを押しながらパネルを回転させたいと思います。キーが離されると、パネルの回転が止まります。

私はインターネットを見て、GDI +を見つけましたが、私はそれをよく理解していません。これはウェブサイトです:http://www.bobpowell.net/drawing_an_image.htm

私はGDI +について読んだことがありますが、私がプロジェクトのパネルを既に持っている私の場合、それをどのように使用するのか、それをどのように追加するのか分かりません。

これは回転するためのコードですが、プログラムに配置するとすべてに下線が引かれます。

mx.Rotate(-30); 
g.Transform = mx; 
g.DrawImage(img,new Point(100,50)); 

私は本当にmx.rotateラインが何を意味するか理解していない、また私は、キーが押されている間の回転を達成するために、それを更新する必要がありますか。

誰にでも間違っていると教えてもらえますか?

私はあなたが元のコードからのラインが欠落している2008年

+0

あなたの 'mx'変数は何ですか? – Connell

+10

私はC#の新しい人たちがゲームを作ろうとしているのを理解していない...山を登ってしまう前に倒れようとしているようなもの – musefan

+3

@musefan私はあなたの感情に同意しますが、より世俗的な電話/アドレスアプリケーションではなく、あなたのハードワークの終わりにゲームを持つことの魅力。 –

答えて

1

Visual Studioの使用しています:

Matrix mx = new Matrix(); 

はあなたのコードにこれを追加し、それが動作するはずですが。これは元の文書のように、あなたの画像をある角度で描きます。ユーザーがパネルの回転を見たい場合は、回転角度を上げて再描画するタイマーを使用するのが最も良いでしょう。

+0

はい、私はファイルから画像を広告しようとしています:画像を取得して回転させるためのコードです。しかし、私はすべてに下線が引かれ、誤りがあります。 ここにエラーのあるコードがあります: https://lh4.googleusercontent.com/-fTuFv3ByByY/TrAFhonVAxI/AAAAAAAACAQ/LNuXD0tKJgM/s696/Capture.jpg –

+0

@Mickey氏によると、あなたは名前空間宣言がありませんでした。 Visual Studioをお持ちの場合は、ほとんどの場合、カーソルを未解決のタイプに置き、Shift-Alt-F10を押してください。プロジェクトのものがあれば、一致する名前空間のリストが表示されます現在の参照リスト。マウスからキーボードを好む場合は、表示される小さな青色の四角形をクリックしてください。同じオプションが表示されます。 –

2

コードにいくつかのエラーがありました。ここでは、Paintイベントから回転イメージを描画する作業例を示します。

private void Form1_Paint(object sender, PaintEventArgs e) { 
     Matrix mx = new Matrix(); 
     Image img = Image.FromFile("c:\\img\\your-image.png"); 

     mx.Rotate(-30); 
     e.Graphics.Transform = mx; 
     e.Graphics.DrawImage(img, new Point(100, 100)); 
    } 
+0

はまだ1つのエラー: エラー型または名前空間名「マトリックス」が見つかりませんでした(あなたがusingディレクティブまたはアセンブリ参照が不足している?) –

+1

あなたはSystem.Drawing.Drawing2D – Mickey

+0

のためのusingステートメントを逃していますありがとう:)それは働いた。多分私はまだいくつかの助けが必要になるので、このスレッドを開いたままにしておきます。 :) –

関連する問題