サーフェースが存在するかどうかをチェックします
surface_exists(index);
サーフェースはいつでも破棄される可能性があるため、この関数はそれをチェックするために不可欠です。例えば、Windows上でスクリーンセーバーが起動した時、またはAndroidデバイスで最小化した時、サーフェースはVRAMから破棄されます。そのため常にサーフェースが存在していることを確認する必要があります。以下のコード例では作成済みのサーフェースが破棄されていないかどうかチェックして描画を行うようにしています
if !surface_exists(surf) { surf = surface_create(1024, 1024); } else { if view_current = 1 { draw_surface(surf,0,0); } }
上記コードは、サーフェースが存在するかどうか変数"surf"に格納されているインデックス番号を用いてチェックしています。存在しなおかつview番号が1であるときは、そのまま描画を行い、存在しない場合はサーフェースを再生成します