Каков правильный способ использования ключа в этом сценарии? - PullRequest
0 голосов
/ 05 мая 2020
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class Q : MonoBehaviour
{

    void OnTriggerStay2D(Collider2D collision)
    {        
        if (Input.GetKeyDown("q"))
        {
            Destroy(collision.gameObject);

        }
    }
}

хорошо, поэтому я написал код, который должен обнаруживать, когда другой объект сталкивается с ним, чтобы позволить игроку нажать клавишу для уничтожения коллайдера. код может обнаружить коллайдер, но не может обнаружить нажатие клавиши во время обнаружения коллайдера. Я понятия не имею, почему это происходит, поэтому, если кто-то может помочь, было бы здорово, спасибо

1 Ответ

1 голос
/ 05 мая 2020

Если вы посмотрите документацию для GetKeyDown , вы увидите, что он должен быть в вашем обратном вызове Update. Хотя это было бы очень легко исправить!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class Q : MonoBehaviour
{
    bool _qPressed;

    void Update()
    {
        _qPressed = Input.GetkeyDown("q");
    }


    void OnTriggerStay2D(Collider2D collision)
    {        
        if (_qPressed)
        {
            Destroy(collision.gameObject);

        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...