首页 > 移动平台 > 详细

CharacterController移动角色(SimpleMove)

时间:2014-10-31 18:48:35      阅读:243      评论:0      收藏:0      [点我收藏+]

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);
    }
}

 

CharacterController移动角色(SimpleMove)

原文:http://www.cnblogs.com/amixc/p/4065532.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!