【发布时间】:2014-09-22 22:52:19
【问题描述】:
目前我有以下代码,它适用于 3D 游戏 100%,但我无法让它适用于 2D 游戏。
它应该做的是,一旦物体到达航点,它应该朝着新的航点旋转。实际发生的是它围绕x 和y 轴旋转,而不是z 轴。我该怎么做才能让它只在z 轴上旋转?物体应该根据转弯速度向前移动。除非转弯速度很高,否则不应立即转弯。但无论如何,我再次问我如何让这段代码只在z 轴上旋转?
void Update () {
if(toWaypoint > -1){
Vector3 targetDir = wayPoints[toWaypoint].position - transform.position;
Vector3 newDir = Vector3.RotateTowards(transform.forward, targetDir, turnSpeed * Time.deltaTime, 0.0f);
transform.rotation = Quaternion.LookRotation(newDir);
}
if(!usePhysics && toWaypoint != -1){
transform.Translate(Vector3.forward * Time.deltaTime * speed);
next();
}
}
【问题讨论】: