camera_create_view

此函数将创建一个新的摄像头,然后将其视图设置到房间中,然后返回唯一的 ID 值以在未来的函数调用中标识摄像头。将使用您在此函数中为位置、大小和其他详细信息设置的值创建摄像机,这些值与您在"房间编辑器"中设置的值相关(请参阅此处)。请注意,此函数可以采用可变数量的参数,但只有 x/y 位置和宽度/高度参数是必需的。未提供的任何参数都将使用其默认参数。

请注意,相机与所有动态资源一样,在创建时会占用内存。这意味着您需要注意不要不必要地创建相机,并通过调用函数 camera_destroy() 来销毁不需要的相机。这也意味着,如果分配给一个全局变量,摄像机将在各个房间之间保持不变(当分配给实例或局部变量时,它们也将保持不变,但在更改房间后,您无法访问它们,因此会发生内存泄漏),因此您可以创建一个新的摄像机,将其分配给全局变量,然后在每个房间开始时,使用 camera_set_* 函数设置属性,然后将其分配给视图端口。

 

语法:

camera_create_view(room_x, room_y, width, height, [angle, object, x_speed, y_speed, x_border, y_border])

参数类型描述
room_xReal相机视图捕捉区域左侧的 x 位置(在房间内)。
room_yReal相机视图捕捉区域顶部的 y 位置(在房间内)。
widthReal视图捕获的区域的宽度。
heightReal视图捕捉的区域的高度。
angleReal可选 为相机视图设置的角度(0°-360°,默认值为0 )。
object对象资源 or Object Instance可选 摄像机视图要跟随的对象 ID(或实例 ID)(默认为 -1,无对象)。
x_speedReal可选 视图可以移动的最大水平速度(设置为 -1 后为"立即",默认值为 -1)。
y_speedReal可选 视图可以移动的最大垂直速度(设置为 -1 后为"立即",默认值为 -1)。
x_borderReal可选 视图区域边缘与其设置为跟随的实例之间的最小水平间距(在视图开始移动之前,如果设置为跟随实例,则默认值为 0)。
y_borderReal可选 视图区域边缘与其设置为跟随的实例之间的最小垂直间距(在视图开始移动之前,如果设置为跟随实例,则默认值为 0)。

 

返回:

Camera ID

 

例子:

camera_destroy(view_camera[0]);
view_camera[0] = camera_create_view(0, 0, 640, 480, 0, obj_Player, 5, 5, -1, -1);

上述代码将删除分配给 viewport[0] 的当前相机,然后创建新的相机,定义其视图属性,然后将其分配给 viewport[0]。