- Home /
Question by
eldhoeapen17 · Sep 28, 2020 at 10:56 AM ·
charactercontrollerplayer movement
,How to fix Crouch and Sprint Code (C#)
,I am new at coding and i can't fix sprinting and crouching help me
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class PlayerMovement : MonoBehaviour { public CharacterController controller; public Vector3 playerVelocity; public bool groundedPlayer; public float playerSpeed = 10f; public float jumpHeight = 1.0f; public float gravityValue = -9.81f; public float height;
public float sprintSpeed = 8f;
private float realSpeed;
void Start()
{
controller = GetComponent<CharacterController>();
controller.height = 2.0f;
}
void Update()
{
if (Input.GetKeyDown (KeyCode.C)) {
CameraWithTorch.transform.position = Vector3.Lerp (CameraWithTorch.transform.position,crouchPosition.position,Time.deltaTime * smooth);
check = true;
}
else{
if (check == true) {
CameraWithTorch.transform.position = Vector3.Lerp (CameraWithTorch.transform.position,cameraposition.position,Time.deltaTime * smooth);
check=false;
}
}
realSpeed = Input.GetKey(KeyCode.LeftShift) ? playerSpeed : sprintSpeed;
groundedPlayer = controller.isGrounded;
if (groundedPlayer && playerVelocity.y < 0)
{
playerVelocity.y = 0f;
}
Vector3 move = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
controller.Move(move * Time.deltaTime * playerSpeed);
if (move != Vector3.zero)
{
gameObject.transform.forward = move;
}
// Changes the height position of the player..
if (Input.GetButtonDown("Jump") && groundedPlayer)
{
playerVelocity.y += Mathf.Sqrt(jumpHeight * -3.0f * gravityValue);
}
playerVelocity.y += gravityValue * Time.deltaTime;
controller.Move(playerVelocity * Time.deltaTime);
}
void FixedUpdate()
{
Vector3 move = new Vector3(realSpeed * Input.GetAxis("Horizontal") * Time.deltaTime, 0f, realSpeed * Input.GetAxis("Vertical") * Time.deltaTime);
}
}
Comment
Your answer
