Обработка 2d объектов
Вложений: 1
Здравствуйте:) столкнулся с такой проблемой:
Имеется игра такого вида Вложение 19283 Нужно добавить монстров,я создал несколько массивов,массив с изображениями и массивы с информацией координат и номера кадра с направлением. В игре один поток,обработка выглядит так for i=0 to max if monster(i)=1 then процедура обработки Проблема в том,что игра изза этого может провисать,что довольно неприятно:( Может кто натолкнуть на путь истинный? Я уже незнаю что делать |
Ответ: Обработка 2d объектов
Держи число монстров, и итерируй от 0 до этого числа. А не максимальное число монстров.
И провисает не цикл, а логика в цикле. |
Ответ: Обработка 2d объектов
Цитата:
Судя по всему язык Basic'оподобный, я в них не разбираюсь особо, но должно же там быть что-то типа std::vector или списков из Blitz'a. Лучше их применять, ну и действительно копнуть в логику. Если там самая медленная часть завязана на обработку взаимодействия с игроком, вынести ее в отдельный цикл и обрабатывать только ближайших монстров. |
Ответ: Обработка 2d объектов
Цитата:
Цитата:
Цитата:
Цитата:
Короче говоря, автор выложил недостаточно инфы. Могу предположить что он тяжко просчитывает если монстр в экране или т.п. Но делает это с каким-то извращением, что эта проверка и садит всё. Если делать как полагается, то нужно разбивать пространство на сектора, и хранить списки монстров в секторах. И затем пробегаться только по секторам которые в камере и их спискам монстров. Забудь о блице.. |
Ответ: Обработка 2d объектов
тс, скинь код, посмотрим. только не жмись, целиком кидай
|
Часовой пояс GMT +4, время: 09:04. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot