Переключение символов Unity2D

#c# #visual-studio #unity3d

#c# #visual-studio #unity3d

Вопрос:

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

 public class SwitchPlayer2D : MonoBehaviour
{
    private void Update(){
        if (Input.GetKeyDown(KeyCode.C))
            {
                otherPlayer.GetComponent<Movement2D>().enabled = false;
                GetComponent<Movement2D>().enabled = true;
            }
    }
}
  

Комментарии:

1. Спасибо Эльбрусу Гаджиеву!! Это работает, спасибо вам большое, очень большое!!!

Ответ №1:

Попробуйте это:

 private void Update()
{
    if (Input.GetKeyDown(KeyCode.C))
    {
        if (otherPlayer.GetComponent<Movement2D>().enabled == true)
        {
            otherPlayer.GetComponent<Movement2D>().enabled = false;
            GetComponent<Movement2D>().enabled = true;
        }
        else
        {
            otherPlayer.GetComponent<Movement2D>().enabled = true;
            GetComponent<Movement2D>().enabled = false;
        }
    }
}