Oph*_*lia 2 c# android device unity-game-engine gameobject
我正在使用Unity开发游戏应用程序。我在移动GameObject时遇到问题。
在我的游戏中,当玩家使用其设备向上滑动时,GameObject从点A移至B,而当他向下滑动时,游戏对象则从B移至A。
我用游戏逻辑编写了一个C#脚本,但是涉及到这个问题。
问题在于GameObject立即从A移动到B。
这是我用来移动GameObject的代码行:
transform.localPosition = Vector3.MoveTowards (PositionA,PositionB,Time.deltaTime * speed);
Run Code Online (Sandbox Code Playgroud)
speed 是一个值为10.0f的浮点数。
我希望我的GameObject缓慢移动以将A指向B。尽管速度值发生了变化,但没有任何变化,它仍然在瞬间移动。
我该如何解决?(我尝试Vector3.Lerp过,但结果相同)。
Vector3.MoveTowards获取当前位置,目标位置和步骤,但似乎您的第一个参数是移动的起点,而不是当前位置。通常,您会在Update():
transform.localPosition = Vector3.MoveTowards (transform.localPosition, PositionB, Time.deltaTime * speed);
以当前位置作为第一个参数。
以下是如何使用MoveTowards:
void Update()
{
float step = speed * Time.deltaTime;
transform.position = Vector3.MoveTowards(transform.position, PositionB, step);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5206 次 |
| 最近记录: |