![]() |
|
||||||||||
|
|||||
|
[+3 17.04.11]
Регистрация: Mar 2011
Сообщений: 168
|
Здравствуйте! В классе работаю с объектами размещенными на сцене, т.к. в класс их не знает то передаю их параметрами в конструктор класса при создании экземпляра. С ростом количества таких объектов стало кривовато выглядеть, считаю что это не правильно. Как это делаться правильно?
|
|
|||||
|
[+3 17.04.11]
Регистрация: Mar 2011
Сообщений: 168
|
сложно привести пример ))) Вообщем у меня есть класс Panzer, в нем я пытаюсь работать с танчиком. На сцене есть 4 линии границ (как бы границы карты). В классе при движении танчика, есть проверка на выезд за эти линии. Их мне приходиться передавать в класс параметрами. Думаю это не корректно.
|
|
|||||
|
Регистрация: Apr 2011
Сообщений: 20
|
а почему не на оборот?
проверять границы с положением объекта. зачем объекту вообще передавать границы. по моему логичнее как раз наоборот. ну и визуальная часть с данными никак не связана, это раньше проверяли (я видел) проверку на пиксели. сейчас можно просто где-то хранить запись о том, что тут ехать низя. можно даже использовать блоковую карту, которая не отображается (или двумерный массив данных). |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
А где тут большое количество объектов? 4 стены + 1 танк = 5 объектов в класс контроллера карты.
|
|
|||||
|
[+3 17.04.11]
Регистрация: Mar 2011
Сообщений: 168
|
что-то я не пойму, как наоборот??? при движении моего танчика, я делаю проверку на столкновение с предметами на сцене (hitTest()), например там стены, противники, границы... Все объекты храню в массиве. А как наоборот???
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
В принципе, Вы же наверное сами понимаете, что решений тут возможна тысяча. Классикой было бы ответить "читайте про ООП и MVC в частности". Вкратце здесь есть Модель состояний - положение танчика и границ, Контроллер - упомянутый класс, ну и Вьюшка - то, что все это отображает. Вполне MVC.
Я вот только не пойму, почему "не корректно" отдавать классу данные о границах, если в его задачи входит проверка этих границ))) Если отбросить MVC, то есть в Вашем пространстве понятий, все выглядит очень даже корректно. Но с развитием игры, конечно, зайдет в тупик. Используйте MVC.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
hitTest отстой. Всю карту можно разбить на проходимые ячейки и не проходимые. Когда танк собирается сдвинутся вперед на одну ячейку, то он смотрит свободна ли она, и если да, то едет вперед на одну ячейку.
|
|
|||||
|
[+3 17.04.11]
Регистрация: Mar 2011
Сообщений: 168
|
Ухты! Как это "разбить карту на проходимые ячейки и не проходимые"??? Если бы танчик двигался "на все четыре стороны" - я еще понимаю, сделал бы булевский массив и вперед. Но так как он ездит на все 360 сторон и объекты на сцене не обязательно квадратные!
|
|
|||||
|
.
|
Контроллер смотрит, свободна ли ячейка в модели карты и изменяет модельку танка. Моделька танка оповещает подписчиков (обычно это представления, но можно и другие контроллеры) что она "поехала" (изменила координаты).
|
![]() |
![]() |
Часовой пояс GMT +4, время: 10:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|