topical media & game development

talk show tell print

lib-unity-future-HouseOfTheFuture-Assets-Standard-Assets-Scripts-FPSWalker.js / js



  var speed = 6.0;
  var jumpSpeed = 8.0;
  var gravity = 20.0;
  
  private var moveDirection = Vector3.zero;
  private var grounded : boolean = false;
  
  function FixedUpdate() {
          
          if (grounded) {
                  if(!Screen.lockCursor){
                          moveDirection = Vector3.zero;
                  }else{
                          // We are grounded, so recalculate movedirection directly from axes
                          moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
                          moveDirection = transform.TransformDirection(moveDirection);
                          moveDirection *= speed;
                          
                          if (Input.GetButton ("Jump")) {
                                  moveDirection.y = jumpSpeed;
                          }
                  }
          }
  
          // Apply gravity
          moveDirection.y -= gravity * Time.deltaTime;
          
          
          // Move the controller
          var controller : CharacterController = GetComponent(CharacterController);
          var flags = controller.Move(moveDirection * Time.deltaTime);
          grounded = (flags & CollisionFlags.CollidedBelow) != 0;
  }
  
  @script RequireComponent(CharacterController)


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.