Błąd w kodzie

Programowanie w Unity.

Błąd w kodzie

Postprzez lukaszofficial » 08 Kwi 2019, 23:26

Hej gdy spełniam warunek że stykam sie z drugim obiektem Collider to funkcja po if sie wykonuje a gdy dodałem ze trzeba jeszcze kliknąć klawisz w to się nie wykonuje, moglibyście pomóc mi rozwiązać problem dziękuję
Kod: Zaznacz wszystko
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class aaa : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

    }

    void OnTriggerEnter2D(Collider2D other)
    {
        if ((other.gameObject.tag == "Cursor") && (Input.GetKey(KeyCode.W)))
        {
            Destroy(gameObject);
        }
    }
}
lukaszofficial
 
Posty: 2
Rejestracja: 08 Kwi 2019, 11:26
Has thanked: 0 time
Been thanked: 0 time

Re: Błąd w kodzie

Postprzez Hostur » 10 Kwi 2019, 17:58

OnTriggerEnter wykona się raz, tzn w jednej klatce w momencie wejścia w trigger więc słaba szansa że trafisz inputem :)
Wyciągnij ten input do zmiennej
Kod: Zaznacz wszystko
private bool _destroyMode;
private void Update()
{
  _destroyMode = Input.GetKey(KeyCode.W);
}

private void OnTriggerEnter2D(Collider2D other)
{
  if(_destroyMode && ...)
    ...
}

Hostur
 
Posty: 696
Rejestracja: 05 Sie 2015, 07:36
Has thanked: 0 time
Been thanked: 0 time


Wróć do Skrypty

Kto jest na forum

Użytkownicy przeglądający to forum: Google [Bot] oraz 1 gość