Как лучше управлять объектами в игре?
Возникла такая проблема:
Как лучше управлять объектами в игре? 1. Через один главный объект. Например класс игрока управляются все объекты в игре: постройка зданий, управление юнитами и тп. Вся обработка действий играющего находиться в нем. Но тогда придется каждый раз дополнительно снова прокручивать листы с объектами для каждого действия что бы проверить, например, что кликнли именно на этом объекте. 2. Все действия обрабатываются в своих классах. Нет проблемы с дополнительным прокручиванием списков. Но возможно дублирование реакции на одни те же действия игрока. Неудобство в плане размытости кода по проекту. Может кто подскажет в какую сторону двигаться или предложит свою систему управления, типа универсальную. |
Re: Как лучше управлять объектами в игре?
управление в одном месте
делаем тип TPlayerControler и там все что связано с управлением делаем внутри типа делаем кешируемые методы типа GetObjectOnMouse, GetSelectedObjects и тд потом просто в Update все обновляем и нет проблем |
Re: Как лучше управлять объектами в игре?
Внутри типа TPlayerController делаем кешируемые методы?
Кешируемые методы - объясни подробней, что такое кеш вроде понятно, а что такое кешируемый метод - нет. Правда название намекает на то что там содержаться объекты "под мыхой", "выделенные" и тп. Например метод GetObjOnMouse - неужели придется пробегаться по списку всех объектов и от этого перебра не уйти? Или имелось ввиду что метод GetObjOnMouse принадлежит классу TObj? И во время перебора этого класса выявляется объект под мыхой? Или у меня параноя по поводу перебора списка? :) |
Re: Как лучше управлять объектами в игре?
вот тебе кривое обьяснение зачем такое надо :)
Код:
Type TBlablabla функции в переменную и потом юзать только ету переменную, а не функцию но в данном случае все намного удобнее выглядит мне такой подход понадобился только внутри TList, пришлось там несколько функции зделать кешируемыми хотя я особой оптимизацией игры не занимался, спокойно можно перебирать все обьекты раз 10 за цикл не особо беспокоясь о производительности |
Re: Как лучше управлять объектами в игре?
В том то и дело что перебирать неочень получается раз по 10 за цикл. Начинаются подтормаживания, из за этого код уже второй раз переписывается (читай оптимизируется). :(
|
Re: Как лучше управлять объектами в игре?
Trilliput
ты там милионы обьектов перебираешь чтоли ? :) |
Re: Как лучше управлять объектами в игре?
Не, объектов 30-40.
|
Re: Как лучше управлять объектами в игре?
Цитата:
|
Часовой пояс GMT +4, время: 02:20. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot