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 }
    控制角色移动脚本


    请大神们指点

    来源:吃豆游戏作者

  • 相关阅读:
    Maven配置始终获取最新版本
    使用SpringBoot
    SpringBoot文档综述
    35_方法的使用
    34_结构体指针类型的使用
    33_同名字段的使用
    32_匿名字段的使用
    31_结构体的使用
    30_map的使用
    29_猜字游戏
  • 原文地址:https://www.cnblogs.com/liyajie/p/unity3d.html
Copyright © 2011-2022 走看看