Записи Sandbox::Write(Day007) Правка утечек памяти и написание подсистемы ввода
Post
Cancel

Sandbox::Write(Day007) Правка утечек памяти и написание подсистемы ввода

В этот раз на реализацию подсистемы ввода потребовалось больше времени, чем один день, я даже считать не стал. Заодно поправил ошибки, связанные с утечкой памяти.

Что сделано

Не буду приводить здесь код даже интерфейсов классов. Просто опишу список того, что сделал.

  1. Поправил ошибки утечек памяти. Создавал объекты через new и не удалял их. Зачесались руки сделать какой-нибудь класс для дебага, который бы считал созданные и удаленные объекты.

  2. Реализовал класс InputSystem, который ответственен за сбор данных со всех устройств ввода. Теперь в каждом акторе и компоненте вместо прямого запроса состояния устройств вводы мы просто получаем объект класса InputState, где хранится состояние клавиатуры и мыши.

  3. Реализовал классы FPSActor, FPSCamera. Теперь можно перемещаться в пространстве.

Ниже результат.

Ссылка на GitHub

TODO

  • Добавить документацию Doxygen к класса и функциям
  • Сделать класс для свободного перемещения FreeActor в пространстве и возможности переключения между FreeActor и FPSActor
  • Создать класс InputComponent, который отвечает за обработку пользовательского ввода и установки величин скорости актора.

Так как тудушки начинают расти, сделал доску в Trello

Sandbox::Write(Day004, Day005, Day006) Первое отображение

Sandbox::Write(Day008) Отслеживание количества созданых и удаленных объектов

Comments powered by Disqus.