Witam, mam problem, napisałem kod na poruszanie się w prawo i lewo, lecz nie umiem napisać kodu na skakanie, c# uczę się od wczoraj. Jeszcze proszę o pomoc w opóźnieniu w poruszaniu się, np. naciskam D, i idzie w prawo, z opóźnieniem 0.2 s. napisałem już takie coś ale nie działało jak chciałem.
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour {
public float pSpeed = 5.0f;
public float pSprintSpeed = 12.0f;
public float pJumpHeight = 5.0f;
private void Start()
{
print("Starting...");
}
void Update()
{
if (Input.GetKey(KeyCode.A))
{
if (Input.GetKey(KeyCode.LeftShift))
{
transform.Translate(-pSprintSpeed * Time.deltaTime, 0f, 0f);
// Tutaj ze sprintem w prawo.
}
else
{
transform.Translate(-pSpeed * Time.deltaTime, 0f, 0f);
// Tutaj bez sprintu w prawo.
}
} else if (Input.GetKey(KeyCode.D))
{
if (Input.GetKey(KeyCode.LeftShift))
{
transform.Translate(pSprintSpeed * Time.deltaTime, 0f, 0f);
// Tutaj ze sprintem w lewo.
}
else
{
transform.Translate(pSpeed * Time.deltaTime, 0f, 0f);
// Tutaj bez sprintu w lewo.
}
} else if (Input.GetKey(KeyCode.Space))
{
// Tutaj bez sprintu jump.
}
}
// Gettery i setery których nie umiem robic... i nawet nie wiem czy są.
}
Za wszystkie odp. z góry dzięki.
Pozdrawiam.
EDIT: Od razu piszę, to działa źle:
transform.Translate(0f * Time.deltaTime, pJumpHeight, 0f);