У меня ошибка CS0136, но я не могу найти решение - PullRequest
0 голосов
/ 09 октября 2019

У меня есть сообщение об ошибке: (ошибка CS0136: локальный или параметр с именем'ringRight 'не может быть объявлен в этой области, поскольку это имя используется во внешней локальной области для определения локального или параметра). Я в некотором роде новичок в этом, поэтому я не знаю, что он говорит, и я не смог ничего найти об этом в Интернете. Было бы хорошо, если бы кто-нибудь из вас мог помочь мне здесь

Я пытаюсь сделать анимацию в Unity, но я не помню, что именно я пробовал

    bool facingRight = true;
    bool facingLeft = false;

    if (facingRight == true && facingLeft == false)
    {
        if (Input.GetKey("a"))
        {
            transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z);
            bool facingRight = true;
            bool facingLeft = false;
        }
    }

    if (facingLeft == true && facingRight == false)
    {
        if (Input.GetKey("a"))
        {
            transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z);
            bool facingLeft = true;
            bool facingRight = false;
        }
    }

Ожидается, что моя анимация развернется при нажатии клавиши, а затем при нажатии клавиши d снова обернется.

1 Ответ

3 голосов
/ 09 октября 2019

Это потому, что вы уже объявили переменные.

Удалите bool из внутренних областей в if:

bool facingLeft = true;
bool facingRight = false;

и добавьте еще один между ifчтобы избежать коллизий.

Но, возможно, вам лучше использовать разные имена, чтобы лучше пахнуть кодом, в зависимости от цели.

C # Переменные области действия

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