リファレンス URL:draw_surface_general(id, left, top, width, height, x, y, xscale, yscale, rot, c1, c2, c3, c4, alpha);

戻り値無し (Returns: N/A) 

draw_surface_ext 関数と draw_surface_part 関数の機能を複合した関数。

関数二つ分の機能を一つにまとめたため、この関数に与える引数の数は15と非常に多い。

GPU メモリ上に確保された surfaces はテクスチャデータなので、テクスチャから領域を選択してそこだけを描画するということができる。その機能は draw_surface_part 関数から利用可能。

surfaces を描画する際にスケールの変更、回転、色、アルファブレンディングを指定できる関数が draw_surface_extdraw_surface_general 関数は一つの関数で上記二つの関数がサポートしている機能を扱うことができる。また色についてはグラデーションを利用できるため、draw_surface_ext 関数よりも自由度は高くなっている。

draw_surface_part + draw_surface_ext = draw_surface_general

スクリプト・サンプル
draw_surface_general(surfaceID, 8, 8, 32, 32, x, y, 2, 0.5, 180, c_white, c_white, c_black, c_black, 1);
引数を解説すると
  • まず surface ID で描画する surface を指定
  • 8, 8 の部分はテクスチャ上の xy 位置に相当、ここが領域指定の開始地点となる
  • 32, 32 の部分は領域の縦横サイズ指定、この指定だと 32 pixel の正方形
  • x, y は スクリーン上の描画位置指定
  • 2, 0.5 の部分は縦横のスケール指定、縦は二倍に拡大・横は半分に縮小
  • 180 は回転、つまり上下を反転した状態で描画する指定
  • c_white, c_white, c_black, c_black はグラデーション指定
  • 1 はアルファブレンディング。1 の場合は不透明、0.5 の場合は半透明
Functions/draw_surface_general

Leave a Reply

Your email address will not be published. Required fields are marked *