Я не знаю, почему Insantiation не работает. Я пытаюсь сделать это с помощью пробела. Или это может быть что-то вроде оси?Почему моя игра не создается?
public GameObject projectile;
public Transform padre, hijo;
public Rigidbody r;
private float value;
void Start() {
padre = transform.parent;
hijo = transform.GetChild (0);
value = 0;
}
void Update() {
float j = Input.GetAxis ("Jump");
if (j == 1 && value == 0) {
Instantiate (projectile, hijo.position, hijo.transform.rotation);
}
float h = Input.GetAxis ("Horizontal2");
r.transform.Translate (h * Time.deltaTime, 0, 0);
float v = Input.GetAxis ("Vertical2");
padre.Rotate (0, 0, -v * Time.deltaTime * 20);
value = j;
}
Убедитесь, что вы держите пространство достаточно долго. 'GetAxis' по умолчанию не будет возвращать 1 сразу после нажатия, он сглаживает значение. –
вы можете попробовать 'if (Input.GetKeyDown (KeyCode.Space)) {j = 1}', если вы хотите проверить, было ли нажато космос на этом фрейме. Или используйте GetAxisRaw, если вы не хотите сглаживания. – Maakep