![]() |
"Туман войны" или не видимая область для игрока.
Доброе...
Подскажите пожалуйста, как можно реализовать область, которую персонаж видит и не видит? Поясню на примере. Есть лабиринт, стрелками клавиатуры происходит управление персорнажем. Хочу сделать, так чтобы, когда игрок появился он не видел весь лабиринт, он был бы черным, и только делая шаг за шагом, он бы его открывал. Так вроде понятней) У меня была идея разместить много черных квадратиков и когда бы объект с ними соприкасался, они бы исчезали, открывая область. Но может это не правильный вариант? И тогда придеться накладывать много кусочков, для более плавного открытия области. Или может масками как то? Подскажите пожалуйста. Спасибо. |
Ну можно еще в спрайте туман отрисовать, а потом по мере прохождения его стирать, ну и ещё какой-нить фильтр накинуть типо черного глоу для реализма тьмы. Но это как мне кажется идея не самая лучшая.
|
Можно просто отрисовывать область только вокруг персонажа.
|
Цитата:
|
Ну значит, сохранять карту видимости в отдельный массив, и добавлять в него область вокруг персонажа.
Это если вы хотите получить более-менее оптимизированный результат(как можно меньше лагов). Если не важно, то можете хоть прямоугольниками чёрными закрывать. |
Тое сть в массив зоняю и отслеживаю столкноввения и стираю. верно понял?
Добавлено через 14 минут Возник вопрос. а как правильно размешать, пусть например. черные квадраты на сцене? Есть у меня объект blackBox. создаю массив количесвом равным отношений сторон всей области и размерами моего черного объекта? Типа первый помешаю в координаты 0,0, второй в координпту 0+ширина черного объекта? И так же по игрику? Чтот запутался) |
Циклом расставляете.
Код AS3:
P.S. Извиняюсь за форматирование, просто в браузере не хочет отступать кнопкой TAB. |
Спасибо, сейчас попробую...
Добавлено через 6 минут Получилось, так сказать сетка для тумана готова) Спасибо. А чтобы его открывать. туман войны. нужно искать столкновения с вектором? Добавлено через 14 минут Что-то потерялся я) Код AS3:
а тогда с чем мне искать столкновение?) Код AS3:
|
Ну, можно проверять вхождение в радиус вокруг персонажа каждый кусочек ежекадрово.
Код AS3:
Цитата:
Чтобы пройтись по всем кускам, используется такая конструкция Код AS3:
|
Спасибо, элемент принаведении мыши удаляется, но выходит ошибка в окне вывода:
Код:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.Код:
if(distance <= 10) removeChild(blackBoxes[i]);Добавлено через 1 минуту Вот мой код. чую. что где то накосячил. а где, не пойму... Код AS3:
|
| Часовой пояс GMT +4, время: 22:00. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.