続WindowsフォームアプリでXNAを使ってみる
XNAのサンプルのソースを流用して三角形を描画してみます。
1.class1.csに描画処理を記述
詳しくはソースコードを参照ください。
2.フォームにボタン「button1」を追加
3.デザイン画面上で「button1」をダブルクリックしてイベント処理を追加します。
クリック毎に描画される三角形の頂点カラーを切り替える様にしました。
// ボタンクリック時処理
private void button1_Click(object sender, EventArgs e)
{
switch (count)
{
case 0:
class11.Vertices[0].Color = XnaColor.Yellow;
class11.Vertices[1].Color = XnaColor.Cyan;
class11.Vertices[2].Color = XnaColor.Magenta;
count++;
break;
case 1:
class11.Vertices[0].Color = XnaColor.White;
class11.Vertices[1].Color = XnaColor.Gray;
class11.Vertices[2].Color = XnaColor.Black;
count++;
break;
default:
class11.Vertices[0].Color = XnaColor.Red;
class11.Vertices[1].Color = XnaColor.Green;
class11.Vertices[2].Color = XnaColor.Blue;
count = 0;
break;
}
}
これでグラフィックスを必要としたツール類が作りやすくなります。
1.class1.csに描画処理を記述
詳しくはソースコードを参照ください。
2.フォームにボタン「button1」を追加
3.デザイン画面上で「button1」をダブルクリックしてイベント処理を追加します。
クリック毎に描画される三角形の頂点カラーを切り替える様にしました。
Form1.csより抜粋
// ボタンクリック時処理
private void button1_Click(object sender, EventArgs e)
{
switch (count)
{
case 0:
class11.Vertices[0].Color = XnaColor.Yellow;
class11.Vertices[1].Color = XnaColor.Cyan;
class11.Vertices[2].Color = XnaColor.Magenta;
count++;
break;
case 1:
class11.Vertices[0].Color = XnaColor.White;
class11.Vertices[1].Color = XnaColor.Gray;
class11.Vertices[2].Color = XnaColor.Black;
count++;
break;
default:
class11.Vertices[0].Color = XnaColor.Red;
class11.Vertices[1].Color = XnaColor.Green;
class11.Vertices[2].Color = XnaColor.Blue;
count = 0;
break;
}
}
4.実行画面
Windowsフォーム内にGDIより高速な!?XNAでグラフィック表示する為の基本的なフローはここまでです。
これでグラフィックスを必要としたツール類が作りやすくなります。
コメント
コメントを投稿