## **camera_create** ### 描述: 此函数将创建一个空摄像机,即:未定义视图或者投影设置的摄像头。一旦您创建了摄像机,就可以使用不同的matrix函数来设置视图和投影矩阵。您也可以使用此函数创建摄像机,然后使用不同的camera_set_* 来设置视图,但请注意,如果应用到摄像机视图的话,您必须提供至少一个位置和视图大小,否则生成的摄像机将无效并且给出古怪的效果(如果您未设置跟随对象、边框或移动速度,这些将被设置为默认为房间编辑器中视图相机的默认值)。 请注意,摄像机就像所有动态资源一样,创建时会占用内存。这意味着您需要注意不要不必要地创建摄像机,并通过调用camera_destroy()函数来销毁不需要的摄像机。这也意味着,如果分配给一个全局变量,它们将在不同房间之间持续存在(当它们被分配到实例或局部变量时它们也会持续存在,但是在更换房间之后不能访问它们,因此内存泄漏)您可以这样 - 比如 - 创建一个新的摄像机,将其分配给一个全局变量,然后在每个房间的开始设置所需的视图和投影矩阵以及您需要使用的视图端口。 ### 语法: camera_create(); ### 返回值: 实数(唯一的摄像机ID值) ### 示例: view_camera[0] = camera_create(); var viewmat = matrix_build_lookat(640, 240, -10, 640, 240, 0, 0, 1, 0); var projmat = matrix_build_projection_ortho(640, 480, 1.0, 32000.0); camera_set_view_mat(view_camera[0], viewmat); camera_set_proj_mat(view_camera[0], projmat); 上述代码创建一个新的摄像机,并将它的ID赋予view[0]。然后创建视图和投影矩阵并存储在局部变量中,然后用局部变量设置摄像机。