当您的游戏被编译时,它还包括某些内部函数,用于在运行时进行错误检查。这些内部检查涵盖了游戏代码的许多方面,包括范围、参数和内部GML编译器的一些一般方面,并且是在许多情况下,是什么产生了最终的错误消息。然而,此函数可用于关闭这些内部检查(即:将它们完全从编译的游戏中删除),从而加快最终项目的速度。
请注意,这意味着如果您在游戏代码中执行了不正确的操作,编译后的游戏可能会简单地崩溃,或者可能会遇到一些非常意外的行为。例如,如果在定义大小之外的坐标处访问DS网格,则在开发人员模式下,您将收到编译器窗口错误消息,但适当的检查将允许游戏继续运行。然而,在发布模式下,这些检查将不存在,因此代码可能返回一个空指针,或者一个坏指针,而该指针又将指向某个随机内存。因此,在最好的情况下,您可能会返回错误的数据,或者在最坏的情况下,您可能会覆盖内存中的某些内容-数据、图形甚至代码本身。另一个例子是在构建基元(图元)时-如果您提供颜色,位置,纹理等。数据的顺序与您在创建顶点格式时定义的顺序不同,则当release模式打开时,游戏可能会崩溃或产生意外的结果。
gml_release_mode(flag);
参数 | 类型 | 描述 |
---|---|---|
flag | Boolean | true设置发布模式或false用于一般开发。 |
N/A
gml_release_mode(true);
上面的示例代码将在编译时将游戏设置为使用发布模式。