Перейти к содержанию

MasterGH

Ветераны
  • Постов

    2 999
  • Зарегистрирован

  • Победитель дней

    129

Записи блога, опубликованные MasterGH

  1. MasterGH
    Функция loadstring исполняет строку кода как функцию.
    f = loadstring ("print 'hello, world'") f () --> hello, world Есть еще и такая функция как string.dump. Она создает строку из функции
    function f () print "hello, world" end s = string.dump (f) -- Можно строку тут же запустить как код loadstring (s) () --> hello, world Если по обратной связи строить и исполнять строку кода, то предположительно можно генерировать код другим кодом и учитывать гораздо больше условий, чем это может сделать человек.
    Пригодится для ИИ отладки и для ИИ бота.
     
    Код пишет другой код по обратной связи. Реальность? Возможно
  2. MasterGH
    В игровом движке может быть следующая архитектура
     
    Менеджер сцен
        Список сцен
            Сцена1
              Менеджер игровых объектов
                Список игровых объектов
                    Игровой объект1
                    Игровой объект2
                    Игровой объект3
            Сцена2
              Менеджер игровых объектов
                Список игровых объектов
                    Игровой объект1
                    Игровой объект2
                    Игровой объект3
            Сцена3
              Менеджер игровых объектов
                Список игровых объектов
                    Игровой объект1
                    Игровой объект2
                    Игровой объект3
            
    Сцены могут подгружаться по одной или несколько сразу и выгружаться.
    Каждый игровой объект содержит менеджер поведений
     
    Игровой объект
        Менеджер проведений
            Список игровых проведений
                Поведение1
                Поведение2
                Поведение3

    Поведения есть стандартные от игрового движка и есть пользовательские, которые пишут программисты.
    Стандартное поведение Transform нахождение в пространстве может быть установлено по умолчанию у всех игровых объектов.
    Поведение Transform хранит позицию, углы, масштаб, а также методы перемещения, вращения и другие.
     
    Если представить себе иерархичную древовидную структуру, то именно по ней игровые объекты могут находиться друг в друге. Как папки файлового браузера. Transform позволит узнать является ли игровой объект родителем, дочерним по отношению к другому игровому объекту.
     
    Система событий позволяет отправить событие по иерархии вглубь, из глубины или конкретному игровому объекту. Поведения могут содержать функции, которые принимают событие и реагируют на него. Например, я отправил игровому объекту событие "по иерархии вглубь" о том, что в такой-то точке есть сигнал бедствия. Поведения, которые приняли это событие могут обработать его и направить ботов "спасателей" в эту точку.
    Поведения содержат функции игрового движка. Некоторые из них могут быть как: Update(), Start(), Enable(), Disable(), FixedUpdate()
     
    Update - срабатывает перед кадром отрисовкой. Time.DeltaTime дельта времени между кадрами
    FixedUpdate - также как и Update(), только это перед "кадром физики".
    Start(), OnEnable(), OnDisable() - первый запуск, включение и выключение поведения.
     
    Игровые объекты могут содержать строковый тег и номер слоя. Игровые объекты по слоям могут быть видны камере, могут взаимодействовать по физике. Слоем может быть номер или битовая маска.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.