@ebaysher

Почему не работает скрипт в билде в Unity?

Начал изучать юнити пару дней назад по гайду.
Не работает скрипт в билде в юнити, при том что в самом юнити все работает.
Делаю шахматы, и вот в билде перестали работать ходы
В чем может быть проблема?
гуглил, и у некоторых были ошибки в коде. Но тут вроде все норм
public class Rules : MonoBehaviour
{
    DragAndDrop dad;
    public Rules()
    {
        dad = new DragAndDrop();
    }

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        dad.Action();
    }
}

class DragAndDrop
{
    enum State
    {
        none,
        drag
    }

    State state;
    GameObject item;

    public DragAndDrop()
    {
        state = State.none;
        item = null;
    }
    public bool Action()
    {
        switch (state)
        {
            case State.none:
                if (IsMouseButtonPressed())
                    PickUp();
                break;
            case State.drag:
                if (IsMouseButtonPressed())
                    Drag();
                else
                    Drop();
                return true;
        }
        return false;
    }
    bool IsMouseButtonPressed()
    {
        return Input.GetMouseButton(0);
    }
    void PickUp()
    {
        Vector2 clickPosition = GetClickPosition();
        Transform clickedItem = GetItemAt(clickPosition);
        if (clickedItem == null) return;
        item = clickedItem.gameObject;
        state = State.drag;
        Debug.Log("picked up: " + item.name);
    }
    Vector2 GetClickPosition()
    {
        return Camera.main.ScreenToWorldPoint(Input.mousePosition);
    }
    Transform GetItemAt(Vector2 position)
    {
        RaycastHit2D[] figures = Physics2D.RaycastAll(position, position, 0.5f);
        if (figures.Length == 0)
            return null;
        return figures[0].transform;
    }
    void Drag()
    {
        item.transform.position = GetClickPosition();
    }

    void Drop()
    {
        state = State.none;
        item = null;
    }
}
  • Вопрос задан
  • 418 просмотров
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos Куратор тега Unity
В логах что? Смотрите логи.

А вообще - не используйте конструкторы для MonoBehaviour. Это вот первое что надо изменить и проверить
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы