「コマンドラインからC#でDXライブラリを使う(その2)」の続きです。
今回は図形描画です。
まずは点から。
DX.DrawPixel()を使います。
ランダムな色と座標で点を描画するプログラムの例です。
main1.cs
using System; using DxLibDLL; class Test{ [STAThread] static void Main(){ uint Color; int i; Random r=new Random(); DX.ChangeWindowMode(DX.TRUE); DX.SetGraphMode(640,480,32); if(DX.DxLib_Init() == -1) return; for(i=0;i<300000;i++){ Color = DX.GetColor( r.Next(256), r.Next(256), r.Next(256)); DX.DrawPixel( r.Next(640), r.Next(480), Color); } while(DX.ProcessMessage() == 0 && DX.CheckHitKey(DX.KEY_INPUT_ESCAPE) == 0){ } DX.DxLib_End(); } }
コマンドプロンプトで、ビルドして実行
C:\>csc main1.cs DxDll.cs C:\>main1
線の描画は、
DX.DrawLine()を使います。
main2.cs
using System; using DxLibDLL; class Test{ [STAThread] static void Main(){ uint Color; int i; Random r=new Random(); DX.ChangeWindowMode(DX.TRUE); DX.SetGraphMode(640,480,32); if(DX.DxLib_Init() == -1) return; for(i=0;i<10000;i++){ Color = DX.GetColor( r.Next(256), r.Next(256), r.Next(256)); DX.DrawLine( r.Next(640), r.Next(480), r.Next(640)+1, r.Next(480)+1, Color); } while(DX.ProcessMessage() == 0 && DX.CheckHitKey(DX.KEY_INPUT_ESCAPE) == 0){ } DX.DxLib_End(); } }
四角形です。
DX.DrawBoxを使います。最後の引数をDX.TRUEにすると塗りつぶしをしてくれます。
using System; using DxLibDLL; class Test{ [STAThread] static void Main(){ uint Color; int i; Random r=new Random(); DX.ChangeWindowMode(DX.TRUE); DX.SetGraphMode(640,480,32); if(DX.DxLib_Init() == -1) return; for(i=0;i<10000;i++){ Color = DX.GetColor( r.Next(256), r.Next(256), r.Next(256)); DX.DrawBox( r.Next(640), r.Next(480), r.Next(640)+1, r.Next(480)+1, Color, DX.FALSE); } while(DX.ProcessMessage() == 0 && DX.CheckHitKey(DX.KEY_INPUT_ESCAPE) == 0){ } DX.DxLib_End(); } }
コメント