コマンドラインからC#でDXライブラリを使う(その3)

コマンドラインから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();
	}
}

コメント

タイトルとURLをコピーしました