| AlienEmperor |
16.02.2005 11:13
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 160 Пол: Мужской Реальное имя: Серый Репутация: 0 |
См. сабж: вот есть уровень, на нем (к примеру) 40 монстров, тех, которых видно - 3, остальные "в отключке" пока не попадут в зону видимости... С одним из них игрок взаимодействует...
Есть ли что-нибудь лучше чем: ... For I:=0 To Monster_Count-1 Do If Monsters[I]^.Active Then Begin If GetMonster[Player.X,Player.Y]<>Nil Then Monsters[I]^.DoCollide; End; Как вариант, по идее можно сделать массив указателей на текущих активных монстров (штук 5-6), но при передвижении экрана его без конца нужно обновлять... Не очень-то красиво ?... Сообщение отредактировано: AlienEmperor - 16.02.2005 11:15 -------------------- Все в жизни ботва... Кроме пчел!
|
![]() ![]() |
| AlienEmperor |
16.02.2005 16:13
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 160 Пол: Мужской Реальное имя: Серый Репутация: 0 |
Предположительно уровень состоит из матрицы (10 х 5) экранов (скорее всего все 10 х 5 использоваться не будут). Далее --> на одном экране вряд ли будет больше 3 монстров (скорее не больше двух); каждый из них "живет" своей "жизнью", может атаковать, может убегать и т.д., Т.к. экран динамический (т.е. "сроллится"), то возникают проблемы:
а) с дальностью "активации" монстров б) если дело дошло до атаки, то надо выяснить, кто именно "укусил" игрока. Далее см. выше... P.S. Можно еще вообще сделать всех монстров "живущими" все время - тогда проблема только усугубится и появится вероятность скопления всех врагов в одном месте... -------------------- Все в жизни ботва... Кроме пчел!
|
| GoodWind |
16.02.2005 16:35
Сообщение
#3
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
Цитата(AlienEmperor @ 16.02.05 19:13) Предположительно уровень состоит из матрицы (10 х 5) экранов (скорее всего все 10 х 5 использоваться не будут). Далее --> на одном экране вряд ли будет больше 3 монстров (скорее не больше двух); каждый из них "живет" своей "жизнью", может атаковать, может убегать и т.д., Т.к. экран динамический (т.е. "сроллится"), то возникают проблемы: а) с дальностью "активации" монстров ну тут однозначно - ширина экрана + чуток, чтобы он не начинал двигаться на глазах у играющего... Цитата(AlienEmperor @ 16.02.05 19:13) б) если дело дошло до атаки, то надо выяснить, кто именно "укусил" игрока. я так понимаю, что а) игра - классический платформер б) в связи с а) крутой ИИ не нужен в) монстр имеет методы для проверок: "есть ли опора ?"," не уперся ли я в стену ?" и т.п... если так, то можно добавить и метод "а не укусил ли я героя?" Цитата(AlienEmperor @ 16.02.05 19:13) P.S. Можно еще вообще сделать всех монстров "живущими" все время - тогда проблема только усугубится и появится вероятность скопления всех врагов в одном месте... ага.... хотя если приведенное выше предположение а) верно, то грамотное построение уровеней поможет избежать такой траблы... вобщем поиграй в Марио -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
AlienEmperor Кто как просчтитывает столкновения ? 16.02.2005 11:13
GoodWind
ну я думаю посимпатичнее, чем перебирать всех мо... 16.02.2005 16:06
Altair Позволю себе вновь поагитировать переход на 32 бит... 16.02.2005 20:31
GoodWind да, кстати :yes:
а что, 32-бит не пойдет ?
Олежка ... 17.02.2005 5:08
Altair Самое важное, что программа с TP7 скомпилируется в... 17.02.2005 8:16
AlienEmperor Эххх... Мужики... Дык, под 32 я на DelphiX такой ... 17.02.2005 11:24
GoodWind молодец... ну ты ссылку сюдыть кидай - я, например... 17.02.2005 15:09
Altair AlienEmperor, интересно посмотреть... если сможешь... 17.02.2005 16:40
-AlienEmperor- О! Если не забуду сегодня дома нарезать на бол... 17.02.2005 16:49
Altair ок, я тогда выложу на сайт.
zharkih@list.ru
Спасиб... 17.02.2005 17:04
thinker >oк, я тогда выложу на сайт.
>zharkih@list.r... 19.02.2005 14:05
volvo
Так уже лежит, вроде :D
Движок 19.02.2005 14:12
Altair ну да.... я выложил... vovlo правильно дал ссылку.... 19.02.2005 16:18
thinker >Так уже лежит, вроде biggrin.gif
************... 19.02.2005 17:06
Altair больше мне ничего не приходило 19.02.2005 17:51![]() ![]() |
|
Текстовая версия | 15.11.2025 11:09 |