CharacterController移动角色(SimpleMove)
SimpleMove
Y 轴上速度被忽略。速度以米/秒为单位。重力被自动应用。返回如果角色着地。建议你每帧只调用一次Move或者SimpleMove。
using UnityEngine; using System.Collections; public class Test1 : MonoBehaviour { //声明一个CharacterController类型的私有变量 private CharacterController controller; //角色的初始移动速度 private float playerSpeed=0.0f; void Start () { //获取CharacterController组件 controller=GetComponent<CharacterController>(); } void Update () { //角色的朝向 Vector3 playerForward=this.transform.TransformDirection(Vector3.forward); //向前移动 if (Input.GetKey (KeyCode.W)) { playerSpeed=5.0f; } else if (Input.GetKey(KeyCode.S)) { playerSpeed=-5.0f; } else if (Input.GetKey(KeyCode.A)) { this.transform.Rotate (Vector3.up*-10); } else if (Input.GetKey(KeyCode.D)) { this.transform.Rotate (Vector3.up*10); } else { playerSpeed=0.0f; } controller.SimpleMove(playerForward*playerSpeed); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。