设置玩家 go.transform.position 不改变位置

问题描述

尝试在关卡开始时将玩家对象移动到游戏每个关卡中内置的开始位置,但对象没有重新定位。玩家不是另一个人的孩子,所以我在这里使用根变换。

//move player to start position (I kNow find is expensive)
startPosition_GO = GameObject.Find("StartPosition");
playerGO.transform.position = startPosition_GO.transform.position;

//and just to be because
playerGO.transform.position = new Vector3(startPosition_GO.transform.position.x,startPosition_GO.transform.position.y,startPosition_GO.transform.position.z);

玩家对象保持原地不动。

enter image description here

包括两张图片,首先在开始关卡之前您可以看到起始位置游戏对象(粉红色方块)。上面的代码在关卡开始时调用。第二张图显示了播放器(上面有箭头导航图标在代码执行后所处的位置。

enter image description here

解决方法

试试这个代码来移动玩家的位置。

startPosition_GO = GameObject.Find("StartPosition");
playerGO.transform.position = startPosition_GO.transform.position;
,

设置一次位置。你可以删除这个

--schedule_end_time

或者这个,它应该可以工作。

playerGO.transform.position = new Vector3(startPosition_GO.transform.position.x,startPosition_GO.transform.position.y,startPosition_GO.transform.position.z);

代码看起来多余,可能会导致问题。