我有问题。 我希望如果玩家点击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");
}
但它只是改变现场而没有走向我所说的位置。 请帮忙。
答案 0 :(得分:1)
物体确实向门移动,你只是看不到它,因为你在同一帧中加载了新的等级。会发生什么:
你想做什么:
要实现这一点,你应该设置一个bool标志,只有在光线被击中时移动对象
伪代码:
update()
{
if( ray cast hit )
{
calculate target position
set flag to true
}
if( flag )
{
move object to target position
if( object reached target position )
{
load new level
}
}
}