public void StartRunning() { isRunning = true; n_anim.SetTrigger("StartRuning"); SetupLocalPlayer e = this.GetComponent <SetupLocalPlayer>(); e.CmdChangeAnimState("StartRuning"); }
// Set player movement void FixedUpdate() { mBody.velocity = new Vector3(0, mBody.velocity.y, 0); movement.x = Input.GetAxis("Horizontal"); movement.z = Input.GetAxis("Vertical"); Vector2 mouseMovement; mouseMovement.x = Input.GetAxis("Mouse X"); mouseMovement.y = Input.GetAxis("Mouse X"); if (mouseMovement != Vector2.zero && (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.A))) { transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, cam.localEulerAngles.y, transform.localEulerAngles.z); } float translation = Time.deltaTime * speed; animator.SetBool("Run", false); localPlayer.CmdChangeAnimState("Idle"); if (Input.GetKey(KeyCode.S)) { transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, cam.localEulerAngles.y - 180, transform.localEulerAngles.z); if (Input.GetKey(KeyCode.A)) { transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, cam.localEulerAngles.y - 135, transform.localEulerAngles.z); } else if (Input.GetKey(KeyCode.D)) { transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, cam.localEulerAngles.y - 225, transform.localEulerAngles.z); } animator.SetBool("Run", true); localPlayer.CmdChangeAnimState("Run"); mBody.velocity = new Vector3(transform.forward.x * velocityForce * Time.deltaTime, mBody.velocity.y, transform.forward.z * velocityForce * Time.deltaTime); } else if (Input.GetKey(KeyCode.W)) { transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, cam.localEulerAngles.y, transform.localEulerAngles.z); if (Input.GetKey(KeyCode.A)) { transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, cam.localEulerAngles.y - 45, transform.localEulerAngles.z); } else if (Input.GetKey(KeyCode.D)) { transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, cam.localEulerAngles.y + 45, transform.localEulerAngles.z); } animator.SetBool("Run", true); localPlayer.CmdChangeAnimState("Run"); mBody.velocity = new Vector3(transform.forward.x * velocityForce * Time.deltaTime, mBody.velocity.y, transform.forward.z * velocityForce * Time.deltaTime); } if (!Input.GetKey(KeyCode.W) && !Input.GetKey(KeyCode.S)) { if (Input.GetKey(KeyCode.A)) { transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, cam.localEulerAngles.y - 90, transform.localEulerAngles.z); translation = Time.deltaTime * speed; animator.SetBool("Run", true); localPlayer.CmdChangeAnimState("Run"); mBody.velocity = new Vector3(transform.forward.x * velocityForce * Time.deltaTime, mBody.velocity.y, transform.forward.z * velocityForce * Time.deltaTime); } else if (Input.GetKey(KeyCode.D)) { transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, cam.localEulerAngles.y + 90, transform.localEulerAngles.z); translation = Time.deltaTime * speed; animator.SetBool("Run", true); localPlayer.CmdChangeAnimState("Run"); mBody.velocity = new Vector3(transform.forward.x * velocityForce * Time.deltaTime, mBody.velocity.y, transform.forward.z * velocityForce * Time.deltaTime); } } if (Physics.Raycast(transform.position, -Vector3.up, distToGround + 0.05f) && jumping && mBody.velocity.y < 0) { jumping = false; } if (Input.GetKeyDown(KeyCode.Space) && isGrounded()) { mBody.velocity = new Vector3(mBody.velocity.x, 0, mBody.velocity.z); mBody.AddForce(0, 1000.0f, 0); jumping = true; } Vector3 gravity = globalGravity * gravityScale * Vector3.up; mBody.AddForce(gravity, ForceMode.Acceleration); mBody.velocity = new Vector3(mBody.velocity.x, Mathf.Clamp(mBody.velocity.y, -9999.0f, 20.0f), mBody.velocity.z); if (Physics.Raycast(transform.position, -Vector3.up, distToGround + 0.05f) && !jumping && mBody.velocity.y > 0) { mBody.velocity = new Vector3(mBody.velocity.x, 0, mBody.velocity.z); } }