Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.10.2007, 14:46
GreyMouse вне форума Посмотреть профиль Отправить личное сообщение для GreyMouse Найти все сообщения от GreyMouse
  № 1  
Ответить с цитированием
GreyMouse

Регистрация: Oct 2007
Сообщений: 9
По умолчанию Как создать область видимости врага в игре

Почти уже создала игру.
Управляем главным героем (ГГ), который ходит по "лабиринту", в лабиринте есть враги.
Проблема: как сделать, чтобы враг начинал атаковать, только когда ГГ попадает в область видимости этого врага. Конкретно - как врагу определить - видит он ГГ через стену или нет!
ПС: самой рисовать область видимости врага не целесообразно, т.к. при перемещении врага она изменится.

Старый 05.10.2007, 15:25
Bорон вне форума Посмотреть профиль Отправить личное сообщение для Bорон Посетить домашнюю страницу Bорон Найти все сообщения от Bорон
  № 2  
Ответить с цитированием
Bорон
 
Аватар для Bорон

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
сделай описание стен как отрезков прямых, например (что бы не усложнять).
у каждого врага по таймеру запускается ф-я проверки видимости:
рассчитываем ф-ю прямой соединяюхих координаты врага и героя на основе двух точек (их координаты) и проверяем пересекает ли эта прямая хотябы одну стену.
__________________
Студия "Ночной народ" | http://nightfolk.net/


Последний раз редактировалось Bорон; 05.10.2007 в 15:30.
Старый 05.10.2007, 15:31
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 3  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
Можно каждому врагу дать круг определенным радиусом, с альфой=0.
И через ХитТест проверять вошел ли герой в этот круг.

Старый 05.10.2007, 15:33
Bорон вне форума Посмотреть профиль Отправить личное сообщение для Bорон Посетить домашнюю страницу Bорон Найти все сообщения от Bорон
  № 4  
Ответить с цитированием
Bорон
 
Аватар для Bорон

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
2Molecula:
а если он вошел в круг находясь за стеной?
---
таким кругом можно только дальность области видимости обозначить.
__________________
Студия "Ночной народ" | http://nightfolk.net/

Старый 05.10.2007, 15:35
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 5  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
Тогда заменяем круг на прямоугольник, ширина=ширине корридора либиринта.

Старый 05.10.2007, 15:46
Bорон вне форума Посмотреть профиль Отправить личное сообщение для Bорон Посетить домашнюю страницу Bорон Найти все сообщения от Bорон
  № 6  
Ответить с цитированием
Bорон
 
Аватар для Bорон

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
Тоесть враг у нас по коридору ходить не будет и за поворот не свернет?
и в лабиринте не может быть открытых залов (участков где враг не будет зажат стенами)?
область видимости не является статичной. по идее.
__________________
Студия "Ночной народ" | http://nightfolk.net/

Старый 05.10.2007, 15:47
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 7  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
Ну если так, тогда согласен с твоим вариантом.

Старый 05.10.2007, 15:52
GreyMouse вне форума Посмотреть профиль Отправить личное сообщение для GreyMouse Найти все сообщения от GreyMouse
  № 8  
Ответить с цитированием
GreyMouse

Регистрация: Oct 2007
Сообщений: 9
Пробовала:
рисовала линию от одно до другого и хитТестом определить пересечение со стенами - не работает 8(

Подскажите, плз, как определять пересекаются ли линия и мувик или нет?

Старый 05.10.2007, 15:53
GreyMouse вне форума Посмотреть профиль Отправить личное сообщение для GreyMouse Найти все сообщения от GreyMouse
  № 9  
Ответить с цитированием
GreyMouse

Регистрация: Oct 2007
Сообщений: 9
т.е. хитТест всегда считает - что не пересекаются 8(

Старый 05.10.2007, 15:54
Bорон вне форума Посмотреть профиль Отправить личное сообщение для Bорон Посетить домашнюю страницу Bорон Найти все сообщения от Bорон
  № 10  
Ответить с цитированием
Bорон
 
Аватар для Bорон

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
Блин при чем здесь hitTest!?
Обратите свой взор на алгебру и геометрию.
Если у вас есть функции двух прямых мы можете определить будут ли они пересекаться в заданной области???
__________________
Студия "Ночной народ" | http://nightfolk.net/

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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