【发布时间】:2015-05-21 07:59:28
【问题描述】:
我有问题。 我希望如果玩家点击 StudyOutDoor,首先对象向门移动,然后在 Unity 中更改场景。 这是我的代码:
if (Physics.Raycast (clickPoint, out hitPoint)) {
if (hitPoint.collider.name == "StudyOutDoor") {
target.y = transform.position.y;
target.z = transform.position.z;
transform.position = Vector3.MoveTowards (transform.position, target, playerSpeed * Time.deltaTime);
sceneNumber = 3;
Application.LoadLevel("Corridor");
}
但它只是改变场景,而不是朝着我说的位置移动。 请帮忙。
【问题讨论】:
-
是的,调用 MoveTowards 会在调用时将您的玩家移动到数据中。但是视觉效果只会在当前帧结束后更新。这永远不会发生,因为您会立即加载下一个场景。似乎您想将玩家平稳地移动到目标。现在你的玩家在大约 0.016 秒内移动到目标。使用协程可能是最有效的解决方案。