Задать вопрос
impowski
@impowski
Программист C/C++

Как написать игру только с использованием скриптов в Unity?

Начали с другом делать игру на Unity, только на скриптах, то есть минимальное количество объектов на сцене, только камера и один объект, который как бы запускает скрипт Main, который должен запускать как бы все остальное что нужно и так далее.
Вообщем, суть вот в чем, я немного запутался с тем как правильно писать вообще игру. Приведу пример я создаю скрипт без MonoBehaviour примерно вот такой:
using UnityEditor;
using UnityEngine;

namespace Assets.Scripts
{
    public class Animal
    {
        public GameObject go = new GameObject("", typeof(CircleCollider2D), typeof(Rigidbody2D), typeof(SpriteRenderer));

        public Animal()
        {
            go.name = "Animal";
            go.GetComponent<Rigidbody2D>().gravityScale = 0f;
            go.transform.position = new Vector3(0, 0);
            go.transform.rotation = new Quaternion(0, 0, 0, 0);
            Debug.Log(go.name);
        }

    public class Cat : Animal
    {
        public GameObject go = new GameObject("", typeof(CircleCollider2D), typeof(Rigidbody2D), typeof(SpriteRenderer));

        public Cat()
        {
            go.name = "Cat";
            go.GetComponent<Rigidbody2D>().gravityScale = 0f;
            go.transform.position = new Vector3(0, 0);
            go.transform.rotation = new Quaternion(0, 0, 0, 0);
            Debug.Log(go.name);
        }
    }
}

Стоит ли так вообще делать, потому что мне кажется, что что-то не так, хотя может быть и правильно. Просто я сужу исходя из того, что если я делаю класс наследуемый от MonoBehaviour, то потом нельзя просто создать экземпляр объекта через new(ну оно и понятно почему). Меня как бы не устраивает что я должен создавать заранее объект, цеплять на него скрипт, а потом он будет работать, когда я могу просто взять создать из конструктора объект, который будет иметь все нужные мне функции, заранее прописанные. Если кто меня понял, объясните пожалуйста, что с этим делать, как все мне это довести до логического завершения, что для чего. Вот например у меня еще есть скрипт с управление он уже идет от MonoBehaviour, я его цепляю например через AddComponent к кошке и ей управляю, но правильно ли это со стороны проектирования всей игры?
По факту очень удобно из рантайма все вызывать, есть некоторые проблемы с пониманием всего этого, если кто то что может подсказать с чем мы можем столкнуться во время разработки.
  • Вопрос задан
  • 2770 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Espleth К ответам на вопрос (5)
@Espleth
А еще почитайте, как наследоввние устроено, вы явно плохо понимаете этот момент
Ответ написан
Комментировать