サーフェースを元にバックグラウンドを生成します
background_create_from_surface(index, x, y, w, h, removeback, smooth);
この関数は作成済みのサーフェースを元にバックグラウンドを生成します。 引数の(x, y)にはサーフェースの左上を原点とした相対的座標を指定します。 (width, height)には切り取る幅と高さを指定します。
引数"removeback"は透過色の有効・無効を設定します。透過色には左下のピクセル色が使用されます。
引数"removeback"を有効にした場合、"smooth"を使用することができます。これを有効にすると、透過部分との境界を半透明にして境界を滑らかにします
この関数により作成したバックグラウンドはゲーム実行中は自動で削除されません。そのため明示的にbackground_delete()を使用して削除する必要があります。
var surf; surf = surface_create(32, 32); surface_set_target(surf); draw_clear_alpha(c_black, 0); draw_background(bck_Sky, 0, 0, 0); draw_background(bck_Mountains, 0, 0, 0); bck_custom = background_create_from_surface(surf, 0, 0, 32, 32, true, true); surface_reset_target(); surface_free(surf);
上記コードはサーフェースを生成し、それに対して空と山を描画します。そのサーフェースを元にバックグラウンドを生成しています。