instance_position

使用此功能,您可以检查与另一个实例或对象的所有实例发生碰撞的位置。

除了对象和实例之外,该函数还接受:

传递数组允许您在一次调用中检查多个对象和 / 或图块地图的碰撞。

当您使用它时,您正在检查房间中的单个点是否有实例或图块地图。如果该实例检查了精确碰撞,则将针对实例的边界框或实例的掩码进行此检查。

此函数将返回在碰撞中首先找到的实例或图块地图的 ID。如果未找到任何内容,则返回 noone

如果您不需要冲突实例的 ID,则应考虑使用 position_meeting()

请参阅: 碰撞

 

语法:

instance_position(x, y, obj);

参数类型描述
xReal要检查实例的X位置。
yReal要检查实例的Y位置。
objObject Asset or Object Instance or Tile Map Element ID or Array对象、实例、图块地图 ID、所有 / 其他关键字或包含这些项目的数组

 

返回:

Object Instance or Tile Map Element ID or noone

 

例子:

var inst;
inst = instance_position(mouse_x, mouse_y, obj_Pause_Button);
if (inst != noone)
{
    with (inst) image_index=1;
    instance_create_layer(room_width / 2, 0, "Controllers", obj_Menu);
}

上述代码将检查与鼠标位置"obj_Pause_Button"实例的冲突,如果存在冲突,则在创建对象"obj_Menu"的新实例之前,它将使用返回的id将其image_index设置为新值。