zoukankan      html  css  js  c++  java
  • unity3d自己写角色移动脚本

    废话没有,直接上代码:

     1 using UnityEngine;
     2 using System.Collections;
     3 
     4 public class SuperWalk : MonoBehaviour {
     5 
     6     public float speed = 10.0f;//移动速度
     7     public float jumpSpeed = 8.0f;//跳跃速度
     8     public float gravity = 20.0f;//重力
     9 
    10     private Vector3 moveDirection = Vector3.zero;//移动方向
    11     private bool grounded = false;//是否脚下有物体
    12 
    13     CharacterController controller;//角色控制器
    14 
    15     void FixedUpdate () {
    16         if (grounded) {//如果在地面
    17             //获取移动方向
    18             moveDirection = new Vector3(Input.GetAxis("Horizontal"),0,Input.GetAxis("Vertical"));
    19             moveDirection = transform.TransformDirection(moveDirection);
    20             moveDirection *= speed;
    21 
    22             //如果按了跳跃按钮
    23             if (Input.GetButton("Jump")) {
    24                 moveDirection.y = jumpSpeed;
    25             }
    26         }
    27         moveDirection.y -= gravity * Time.deltaTime;
    28         //获取角色控制器
    29         controller = GetComponent<CharacterController>();
    30         //获取角色移动返回的位掩码
    31         CollisionFlags v = controller.Move(moveDirection * Time.deltaTime);
    32 
    33         //是否脚下有物体(个人理解)
    34         grounded = (v & CollisionFlags.CollidedBelow) != 0;
    35 
    36     }
    37 }
    控制角色移动脚本


    请大神们指点

    来源:吃豆游戏作者

  • 相关阅读:
    pythone 请求响应字典
    python strip()
    python,datetime
    How Flask Routing Works
    python __file__ 与argv[0]
    Python的zip函数
    Python中的__new__()方法与实例化
    python,dict的setdefault方法
    python yield
    python with用法
  • 原文地址:https://www.cnblogs.com/liyajie/p/unity3d.html
Copyright © 2011-2022 走看看