リファレンス URL:surface_exists(index);

「ブール型 (Boolean) 」として戻り値。

ユーザ定義の Surfaces が存在するかどうかを確認する関数。存在する場合は true を返す。

Surfaces を扱う上で常に必須となる関数。

注意として、Surfaces は GPU のメモリ上に確保されるけれど、これは Application Surface とは異なり GPU のメモリ上から消されるタイミングが常に予測不可能である点。

通常 GPU のメモリから Surfaces が消える場合、アプリケーションが待機になったとか、最小化された、他アプリケーション処理にフォーカスが移ったなどいくつか原因はあります。しかしいつそれが発生するかはわからないため、Surfaces がメモリ上から消去されるタイミングも予測がつかないのです。



作成した Surfaces は何かのタイミングで消えてしまう可能性があり、それを常に考慮する必要があるため「Surface の存在を確認する」ステートメントは常に必要と成ります。

This function is essential when working with surfaces due to their volatile nature. Surfaces are always held in texture memory which means that they can be destroyed from one moment to the next (for example, when a screensaver starts on windows, or when minimised on an Android device), so you should always check that a surface exists before doing anything with it (this includes drawing it to the screen). The example code below shows a typical use of this command in the draw event of an instance to check for a surface and re-create it if it has been removed (note that the surface will have been originally created in the create event of the object).

スクリプト・サンプル
if !surface_exists(surf) // 常に確認する { surf = surface_create(1024, 1024); } else { if view_current = 1 { draw_surface(surf,0,0); } }
Functions/surface_exists

Leave a Reply

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