surface_exists

该函数检查表面是否存在。

由于表面的挥发性,在处理表面时,此函数是必不可少的。表面总是保存在纹理内存中,这意味着它们可以从一个时刻到下一个时刻被销毁(例如,当屏幕保护程序在Windows上启动时,或者当在Android设备上最小化时),因此在对表面进行任何操作之前,您应该始终检查表面是否存在(这包括将其绘制到屏幕上)。下面的示例代码显示了此命令在实例的"绘制"事件中的典型用法,用于检查表面并在其已被删除的情况下重新创建它(请注意,该表面最初是在对象的"创建"事件中创建的)。

 

语法:

surface_exists(surface);

参数类型描述
surfaceSurface要检查的表面。

 

返回:

Boolean

 

例子:

if !surface_exists(surf)
{
    surf = surface_create(1024, 1024);
}
else
{
    if (view_current == 1)
    {
        draw_surface(surf, 0, 0);
    }
}

上面的代码检查变量 surf 中索引的表面是否存在,如果不存在,则会重新创建它。如果确实存在,则它会检查当前正在绘制哪个视图,如果是 view[1],则绘制表面。