歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Unity3D 一個設置方向鍵移動和空格起跳的腳本

Unity3D 一個設置方向鍵移動和空格起跳的腳本:

  1. /// This script moves the character controller forward    
  2. /// and sideways based on the arrow keys.   
  3. /// It also jumps when pressing space.   
  4. /// Make sure to attach a character controller to the same game object.   
  5. /// It is recommended that you make only one call to Move or SimpleMove per frame.       
  6.   
  7. var speed : float = 6.0;  
  8. var jumpSpeed : float = 8.0;  
  9. var gravity : float = 20.0;  
  10.   
  11. private var moveDirection : Vector3 = Vector3.zero;  
  12.   
  13. function Update() {  
  14.     var controller : CharacterController = GetComponent(CharacterController);  
  15.     if (controller.isGrounded) {  
  16.         // We are grounded, so recalculate   
  17.         // move direction directly from axes   
  18.         moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,  
  19.                                 Input.GetAxis("Vertical"));   
  20.         // 這裡獲取了鍵盤的前後左右的移動,但注意,這是相對於自己的。   
  21.         moveDirection = transform.TransformDirection(moveDirection);   
  22.         // 還有一個TransformPoint。這裡是把相對於自己的   
  23.         // 坐標轉換為相對於世界的坐標。   
  24.         moveDirection *= speed;  
  25.           
  26.         if (Input.GetButton ("Jump")) {  
  27.             moveDirection.y = jumpSpeed;  
  28.         }  
  29.     }  
  30.   
  31.     // Apply gravity   
  32.     moveDirection.y -= gravity * Time.deltaTime;  
  33.       
  34.     // Move the controller   
  35.     controller.Move(moveDirection * Time.deltaTime);  
  36. }  

這段代碼來自Unity3D的官方文檔。

Copyright © Linux教程網 All Rights Reserved