将玩家传送到实例化的预制位置



我正在实例化预制件,并将它们列在滚动列表中。当我点击滚动列表列表上的引用时,我正试图将玩家传送到实例化的预制位置?

根据我对你的问题的了解(在评论中而不是问题中解释(,你应该能够做到这一点:

单击发生时,可以通过将对象camera的变换位置设置为实例化预制件的位置来即时移动对象。对于相机,你可能有X和Y维度的相机视图,所以你想把它移动到新的X和Y位置,但保持Z位置不变。

一个潜在的解决方案:将以下脚本添加到带有Button组件的GameObject中。然后在Button组件上添加一个指向新添加的脚本组件的事件侦听器,并选择MyTeleportingButton.OnClick作为目标方法。您还需要拖动相机作为新脚本组件中的引用。

public class MyTeleportingButton : MonoBehaviour
{
public GameObject camera;
public void OnClick()
{
// casting to Vector2 in order to move in 2D only
var currentPosition = camera.transform.position;
var newPosition = transform.position;

// set same depth as camera
newPosition.z = currentPosition.z;
camera.transform.position = newPosition;
}
}

最新更新