替换说明:用FPSWalker.js替换掉Assets\Standard Assets\Scripts下的FPSWalker.js
主要功能:
1、新增"+" "-"号控制行走的速度,"+"增加速度,"-"减慢速度
2、新增"[" "]"号控制视野范围。
3、"W":向前
"S":向后
"A":向左
"D":向右
4、( 增加胶囊高度和半径
) 减小胶囊高度和半径
主要功能:
1、新增"+" "-"号控制行走的速度,"+"增加速度,"-"减慢速度
2、新增"[" "]"号控制视野范围。
3、"W":向前
"S":向后
"A":向左
"D":向右
4、( 增加胶囊高度和半径
) 减小胶囊高度和半径
View Code
1 var speed = 6.0 ; 2 var jumpSpeed = 8.0 ; 3 var gravity = 20.0 ; 4 5 private var moveDirection = Vector3.zero; 6 private var grounded : boolean = false ; 7 8 function FixedUpdate() { 9 10 if (Input.GetKey(KeyCode.KeypadPlus) || Input.GetKey(KeyCode.Equals)) 11 { 12 speed += 0.05 ; 13 } 14 if (Input.GetKey(KeyCode.KeypadMinus) || Input.GetKey(KeyCode.Minus)) 15 { 16 if (speed > 0 ) 17 { 18 speed -= 0.05 ; 19 } 20 else 21 {speed = 0 ;} 22 } 23 24 if (grounded) { 25 // We are grounded, so recalculate movedirection directly from axes 26 moveDirection = new Vector3(Input.GetAxis( " Horizontal " ), 0 , Input.GetAxis( " Vertical " )); 27 moveDirection = transform.TransformDirection(moveDirection); 28 moveDirection *= speed; 29 30 if (Input.GetButton ( " Jump " )) { 31 moveDirection.y = jumpSpeed; 32 } 33 } 34 35 // Apply gravity 36 moveDirection.y -= gravity * Time.deltaTime; 37 38 // Move the controller 39 var controller : CharacterController = GetComponent(CharacterController); 40 var flags = controller.Move(moveDirection * Time.deltaTime); 41 grounded = (flags & CollisionFlags.CollidedBelow) != 0 ; 42 if (controller.height > 4 || controller.height < 1 ) { 43 controller.height = 2 ;controller.radius = 0.4 ; 44 } 45 if (controller.height >= 1 || controller.height <= 4 ){ 46 if (Input.GetKeyDown(KeyCode.Alpha9)) 47 { 48 controller.height -= 0.2 ; 49 controller.radius = controller.height * 0.2 ; 50 } 51 if (Input.GetKeyDown(KeyCode.Alpha0)) 52 { 53 controller.height += 0.2 ; 54 controller.radius = controller.height * 0.2 ; 55 } 56 } 57 58 var camera : Camera = GameObject.Find( " Main Camera " ).GetComponent(Camera); 59 if (Input.GetKey(KeyCode.RightBracket)){ 60 if (camera.fieldOfView < 90 ){ 61 camera.fieldOfView += 0.5 ; 62 } 63 } 64 if (Input.GetKey(KeyCode.LeftBracket)){ 65 if (camera.fieldOfView > 60 ){ 66 camera.fieldOfView -= 0.5 ; 67 } 68 else {camera.fieldOfView = 60 ;} 69 } 70 } 71 72 @script RequireComponent(CharacterController)