Unity не работает Basi c скрипт - PullRequest
0 голосов
/ 17 марта 2020

Я - первый программист, наблюдающий учебник по созданию 2D-игры сверху вниз. Урок немного устарел, но всего на пару лет, поэтому я предполагаю, что он будет работать так же. Моя цель в этом конкретном разделе кода c - просто заставить игрока смотреть налево, когда нажимается A, и смотреть вправо, когда нажимается D. Сейчас ничего не происходит, но я не вижу никаких ошибок в консоли.

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

public class player : MonoBehaviour
{
    private BoxCollider2D boxCollider;

    private Vector3 moveDelta;

    private void Start()
    {
        boxCollider = GetComponent<BoxCollider2D>();
    }

    private void FixedUpdated()
    {
        float x = Input.GetAxisRaw("Horizontal");
        float y = Input.GetAxisRaw("Vertical");

        //Reset moveDelta
        moveDelta = new Vector3(x, y, 0);

        //Swap sprite direction for left or right
        if (moveDelta.x > 0)
            transform.localScale = Vector3.one;
        else if (moveDelta.x < 0)
            transform.localScale = new Vector3(-1, 1, 1);
    }
}

У меня неправильная настройка Unity, или в моем коде просто ошибка?

Учебное пособие, которому я следую, - «Изучите движок Unity и C#, создав настоящую RPG сверху вниз» на Udemy, и я не вижу, чтобы кто-то еще сталкивался с такой же проблемой.

Любая помощь приветствуется :)

1 Ответ

0 голосов
/ 17 марта 2020

Unity3D работает с некоторыми функциями, которые должны точно соответствовать определенным именам.

Вы написали "FixedUpdated", это не та функция, о которой знает Unity, поэтому он никогда не будет вызывать ее "автоматически".

Возможно, вы приняли его за FixedUpdate, который является функцией, вызываемой каждым кадром Unity.

Обратите внимание, что, к сожалению, компилятор никогда не выдаст ошибку для этого.

Однако в Visual Studio будет сообщение об этом . Я настоятельно рекомендую проверить вкладку «Ошибки», по умолчанию внизу, и отфильтровать «информационные» сообщения, и прочитать их. :

IDE0051   Private member 'NewBehaviourScript.FixedUpdated' is unused

Visual Studio 2019 showing message that FixedUpdated is unused

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