まとめ
- DXライブラリの DrawBox() 関数の使い方を解説した.
- 自機の描画の関数化を行った.
- 自機の描画を行った.
はじめに
前回はこちら.
環境構築などを行っている.
自機を描画する
ボックスを描画する
Dxライブラリでボックスを描画するには,
DrawBox() 関数を使用する.
リファレンス
dxlib.xsrv.jp
引数は,リファレンスを参照すると
引数
x1 , y1 : 描画する四角形の左上の頂点座標
x2 , y2 : 描画する四角形の右下+1の頂点座標
Color : 描画する四角形の色
FillFlag : 四角の中身を塗りつぶすか、のフラグ。TRUEで塗りつぶし、FALSEで塗りつぶさない
とのこと.
つまり, 0, 0 の位置に,
4, 4 サイズ の白いボックスを描画するには,
DrawBox( -2, -2, 2, 2, 0xfffffff, 1);
となる.
念の為解説を挟んでおく.
位置を指定する
描画位置が 0, 0, で,
サイズが 4, 4 なので,
最終的に描画されるボックスの頂点は,
- x1 -2
- y1 -2
- x2 2
- y2 2
となる.
図を参照.
なので,それを順番に指定してやれば良い.
色を指定する
DrawBox() などに渡すカラーコードは,
0~255 で,これを 16 進数表記したものを使用する.
はじめは少々ややこしいかもしれないが,
0~ff の間,と考えれば簡単かもしれない.
16進数で,上位から ARGB (透明度,赤,緑,青)要素を表す.
つまり,
- 赤
- 0xFFFF0000
- 緑
- 0cFF00FF00
- 青
- 0xFF0000FF
- 白
- 0xFFFFFFFF
- 黒
- 0xFF000000
といった具合だ.
自機を描画する
サイズは,各辺 32 ピクセル.
位置は 320, 340 の位置が丁度よい.
色は 淡いブルー.
塗りつぶしなし.
とする.
なので,以下のようになる.
DrawBox( 320-16, 340-16, 320+16, 340+16, 0xff0088ff, 0);
自機の描画を関数化する
上記コードは少々煩雑なので,
自機の描画を関数化してしまう.
以下のようなコードで,自機を描画したい.
DrawPlayer( 320, 340 );
なので, DrawPlayer() 関数を作成してやる.
void DrawPlayer( float x, float y )
{
// 本体の表示
DrawBox(x-16, y-16, x+16, y+16, 0xff0088ff, 0);
}
といった具合だ.
関数,引数について理解が怪しい場合は,
入門サイトで再度復習してくるか,
どうせいずれ理解できるのでそのまま先へ進んでも良い.
完成コード
include "DxLib.h"
void DrawPlayer( float x, float y )
{
// 本体の表示
DrawBox(x-16, y-16, x+16, y+16, 0xff0088ff, 0);
}
// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
//int main()
{
ChangeWindowMode( true );
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1 ; // エラーが起きたら直ちに終了
}
DrawPlayer( 320, 340 );
WaitKey();
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
以上で自機の描画が完成した.
おわりに
次回はゲームループの解説と,自機の移動を行う予定.