Hi,
ich mache zurzeit ein Spiel mit Unity und stoße dabei vor ein Problem.
Ich habe nun ein Skript für meinen Spieler, der sich aber trotz allem nicht bewegen oder springen will. Nun habe ich alle Fehlermeldungen abgearbeitet und es klappt immer noch nicht.
Das einzige was bleibt, sind drei Warnungen:
Assets\Scripts\FirstPersonController.cs(7,36): warning CS0649: Field 'FirstPersonController.speed' is never assigned to, and will always have its default value 0
Assets\Scripts\FirstPersonController.cs(9,36): warning CS0649: Field 'FirstPersonController.JumpraycastDistance' is never assigned to, and will always have its default value 0
Assets\Scripts\FirstPersonController.cs(8,33): warning CS0649: Field 'FirstPersonController.jumpforce' is never assigned to, and will always have its default value 0
Ich habe leider absolut keine Ahnung, was das mir sagen soll. Ok, doch, habe ich, aber wie beseitige ich sie?
Programm:
public class FirstPersonController : MonoBehaviour
{
[SerializeField]
private float speed;
[SerializeField]
private float jumpforce;
[SerializeField]
private float JumpraycastDistance;
private Rigidbody rb;
private void Start()
{
rb = GetComponent<Rigidbody>();
}
private void update()
{
Jump();
}
private void Move()
{
float hAxis = Input.GetAxisRaw("Horizonta");
float vAxis = Input.GetAxisRaw("Vertical");
Vector3 movement = new Vector3(hAxis, 0, vAxis) * speed;
Vector3 newPosition = rb.position + rb.transform.TransformDirection(movement);
rb.MovePosition(newPosition);
}
private void Fixeduptade()
{
Move();
}
private void Jump()
{
if (Input.GetKeyDown(KeyCode.Space))
{
if (IsGrounded())
{
rb.AddForce(0, jumpforce, 0, ForceMode.Impulse);
}
}
}
private bool IsGrounded()
{
Debug.DrawRay(transform.position, Vector3.down * JumpraycastDistance, Color.blue);
return (Physics.Raycast(transform.position, Vector3.down, JumpraycastDistance));
}
}
Ich hoffe wirklich, mir kann jemand helfen!
Ein riesiger Dank geht an jeden, der zumindest darüber nachgedacht hat, mir zu helfen oder mir sogar vielleicht noch helfen kann!