Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   вопрос про крышу (верхний этаж) (http://www.flasher.ru/forum/showthread.php?t=147467)

DenverZ 05.12.2010 11:40

вопрос про крышу (верхний этаж)
 
Здравствуйте,

стало интересно, как в играх обрабатывать крыши (вторые этажи и т.д.) т.е. если персонаж заходит в дом, надо убрать верхние этажи если есть и соответственно крышу, т.е. что бы видеть персонажа внутри...

пока мне пришел в голову только один вариант, дом создаешься из частей (пол из плитки, крыша из плитки, стены из частей и т.д.) все создается в мувиках принадлежащие каждый к своему этажу (т.е. собираем некую мазайку и потом addChild к мувику типа level1_mc, level2_mc и т.д.) и соответственно когда персонаж входит на первый этаж, мы ставим alpha 0 у всех остальных этажей по цепочке ?

кто что скажет? есть у кого опыт такого плана?

alatar 05.12.2010 12:00

Цитата:

дом создаешься из частей
Именно так.
Цитата:

и потом addChild к мувику типа level1_mc, level2_mc и т.д.
Менее накладно отрисовывать в битмапу.
Цитата:

и соответственно когда персонаж входит на первый этаж, мы ставим alpha 0 у всех остальных этажей по цепочке ?
В игре с аксонометрическим движком используется z-сортировка. При проверке перекрытий объектов проверяется, если какая-то часть перекрывает персонажа, то она просто не отрисовывается.

Dukobpa3 05.12.2010 12:06

- до вас мое письмо дошло?
- пять раз перечитал, всё-равно не дошло.

Насколько могу судить то это вопрос про список отображения?
Если да, то именно так всё и делается.
Раскидать все объекты по контейнерам, а потом показывать только то что надо.
Только альфу менять незачем, достаточно visible = false.

К тому же в зависимости от размеров и количества и веса объектов возможно лучше будет делать вообще removeChild/addChild

Добавлено через 2 минуты
И таки да, alatar прав. С большими размерами текстур и объектов - менее ресурсоемко будет отрисовать всё в битмапу (BitmapData.draw())

alatar 05.12.2010 12:14

Цитата:

С большими размерами текстур и объектов - менее ресурсоемко будет отрисовать всё в битмапу (BitmapData.draw())
С маленькими это даже более актуально :)
Вот перевод статьи где сравниваются три варианта отрисовки в битмапу, одновременно на сцену отрисовывается 6000 мелких объектов. Я даже боюсь представить, что будет с плеером если в список отображения добавить 6000 объектов и попробовать их перемещать. А если еще и мышь им не отрубить...

DenverZ 05.12.2010 12:58

спасибо за ответы

Dukobpa3 05.12.2010 13:38

Цитата:

Сообщение от alatar
С маленькими это даже более актуально

Угу, я завтыкал.

Я просто недавно пытался ворочать мувиклип размером 12К пиксел на 4К - пока в битмапу не отрисовал - комп загибался. Чтоб хоть как-то делу помочь - пришлось этот мувиклип фотографировать в битмапу, И кроме того резать на сетку из мелких фоток (максимум 1000х1000. Ну вообще сейчас плеер может двигать 4Кх4К, но у меня с такими размерами тормозило. Сделал одну клетку как полтора игровых экрана).
Потому у меня битмапа на злобу дня ассоциируется со здаровыми канвасами))))


Часовой пояс GMT +4, время: 02:27.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.