【GameMaker】基本的な図形の描画関数

GameMaker

この記事では、GameMakerで用意されている、基本的な図形の描画関数とその使用例をまとめています。より詳細な関数の仕様については下記公式ドキュメントのページをご参照ください。

参考ページ:

GameMaker Manual

描画の基本

描画関数を利用する際には、描画処理の基本として以下のポイントを押さえておきましょう。

描画関数利用時のポイント
  • 描画処理は、ルームにスプライトor頂点を配置する形で行われる
  • GameMaker では、ルームの左上が原点(0,0)。これを基準にX/Y軸を設定する。
  • 描画コードは、常に描画(Draw)イベント内に配置される必要がある

描画色の設定

描画を行う際の「色」を設定は、以下のように行います。

draw_set_colour(c_blue);	//描画色の設定

draw_set_colour($00ff00);	//$を用いて16進数表記での指定も可能

//カラーチャンネルを用いた設定
colour = make_colour_rgb(50,50,50);	//カラー変数の作成
draw_set_colour(colour);	//変数で描画色を指定
一言コメント
一言コメント

色情報の変数はマクロやグローバル変数として用意しておくことで、よく使う色を使いまわすときに便利です。

図形の描画

点の描画

//点の描画:(X,Y,描画色)
draw_point_colour(130, 30, c_red);

直線の描画

//直線の描画:(始点X,始点Y,終点X,終点Y,直線幅,始点色,終点色)


//単色の直線。始点色=終点色
draw_line_width_colour(30, 60, 90, 60, 3, c_red, c_red);


//グラデーション直線。始点色!=終点色
draw_line_width_colour(30, 90, 90, 90, 3, c_red, c_blue);	

矢印の描画

//矢印の描画:(始点X,始点Y,終点X,終点Y,矢印頭のサイズ)
draw_arrow(30, 30, 90, 30, 10);

円の描画

//円の描画:(始点X,始点Y,円の半径,中心色,円周色,t:輪郭のみ/f:塗りつぶし)

//輪郭のみの描画。(中心色の引数は無視される)
draw_circle_colour(45, 130, 15, c_red, c_red, true);		

//塗りつぶしの描画。中心色=円周色
draw_circle_colour(45, 180, 15, c_red, c_red, false);		

//グラデーション描画。中心色!=円周色
draw_circle_colour(45, 230, 15, c_red, c_white, false);

楕円の描画

//楕円の描画:(始点X,始点Y,終点X,終点Y,円の半径,中心色,円周色,t:輪郭のみ/f:塗りつぶし)


//輪郭のみの描画。(中心色の引数は無視される)
draw_ellipse_colour(30, 280, 100, 310, c_red, c_red, true);	

//塗りつぶしの描画。中心色=円周色	
draw_ellipse_colour(30, 330, 100, 360, c_red, c_red, false);

//グラデーション描画。中心色!=円周色		
draw_ellipse_colour(30, 380, 100, 410, c_red, c_white, false);		

矩形の描画

////矩形の描画:(始点X,始点Y,終点X,終点Y,左上の色,右上の色,右下の色,左下の色,t:輪郭のみ/f:塗りつぶし)

//輪郭のみの描画。
draw_rectangle_colour(110, 110, 170, 140, c_red, c_white, c_red, c_white, true);

//塗りつぶしの描画。中心色=外周色
draw_rectangle_colour(110, 160, 170, 190, c_red, c_red, c_red, c_red, false);

//グラデーション描画。中心色!=外周色
draw_rectangle_colour(110, 210, 170, 240, c_red, c_white, c_red, c_white, false);

応用:中心に向かってグラデーションする直線

//応用:中心に向かってグラデーションする直線
draw_rectangle_colour(110, 270, 170, 270, c_red, c_white, c_red, c_white, false);

丸みを帯びた矩形の描画

////丸みを帯びた矩形の描画:(始点X,始点Y,終点X,終点Y,中心色,外周色,t:輪郭のみ/f:塗りつぶし)

//輪郭のみの描画。(中心色の引数は無視される)
draw_roundrect_colour(110, 320, 170, 350, c_red, c_red, true);		

//塗りつぶしの描画。中心色=外周色
draw_roundrect_colour(110, 370, 170, 400, c_red, c_red, false);		

//グラデーション描画。中心色!=外周色
draw_roundrect_colour(110, 420, 170, 450, c_red, c_white, false);	

丸みを帯びた矩形の描画-丸みの調整

//丸みを帯びた矩形の描画-丸みの調整:(始点X,始点Y,終点X,終点Y,角のX軸半径,角のY軸半径,中心色,外周色,t:輪郭のみ/f:塗りつぶし)

//輪郭のみの描画。(中心色の引数は無視される)
draw_roundrect_colour_ext(110, 470, 170, 500, 30, 30, c_red, c_red, true);		

//塗りつぶしの描画。中心色=外周色
draw_roundrect_colour_ext(110, 520, 170, 550, 30, 30, c_red, c_red, false);		

//グラデーション描画。中心色!=外周色
draw_roundrect_colour_ext(110, 570, 170, 600, 30, 30, c_red, c_white, false);	

三角形の描画

//三角形の描画:(頂点aのX,頂点aのY,頂点bのX,頂点bのY,頂点cのX,頂点cのY,頂点aの色,頂点bの色,頂点cの色,t:輪郭のみ/f:塗りつぶし)

//輪郭のみの描画。
draw_triangle_colour(225, 30, 200, 60, 250, 60, c_red, c_blue, c_yellow, true);

//塗りつぶしの描画。中心色=外周色
draw_triangle_colour(225, 80, 200, 110, 250, 110, c_red, c_red, c_red, false);

//グラデーション描画。中心色!=外周色
draw_triangle_colour(225, 130, 200, 160, 250, 160, c_red, c_blue, c_yellow, false);	
おすすめの本①
GameMaker
ひらまめ(hiramame)をフォローする
ひらまめゲーム制作研究室

コメント

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