使用此功能,您可以检查与另一个实例或对象的所有实例发生碰撞的位置。
除了对象和实例之外,该函数还接受:
传递数组允许您在一次调用中检查多个对象和 / 或图块地图的碰撞。
当您使用它时,您正在检查房间中的单个点是否有实例或图块地图。如果该实例检查了精确碰撞,则将针对实例的边界框或实例的掩码进行此检查。
此函数将返回在碰撞中首先找到的实例或图块地图的 ID。如果未找到任何内容,则返回 noone。
如果您不需要冲突实例的 ID,则应考虑使用 position_meeting()。
请参阅: 碰撞
instance_position(x, y, obj);
参数 | 类型 | 描述 |
---|---|---|
x | Real | 要检查实例的X位置。 |
y | Real | 要检查实例的Y位置。 |
obj | Object 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设置为新值。