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

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

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

Регистрация: Dec 2003
Адрес: Иркутск
Сообщений: 12
По умолчанию присоветуйте

Делаю игру и поневоле встал один вопрос:
Главный герой бегает и кидает "бобмы", до 10 штук одновременно на локации. Бегают там всякие жуки, монсты, их тоже немало. Когда взрывается бомба, доллжен умирать тот подпадает под радиус. Мне кажется, что выглядеть это должно как перебор всех возможных монстров, с целью проверки совпадения их координат с координатами бомбы(+радиус). Програмно должно выглядеть примерно так:

(скрипт помещается в бомбу)
for i=1;i=99;i++ {

if (this.hitTest(_root['monstr'+i) { ...}}
if (this.hitTest(_root.player) { ...}
for i=1;i=99;i++ {
if (this.hitTest(_root['wall'+i]) { ...}}
и т.д. и т.д.

Это все работеат. Но скрипт получается огромным и тормозным. Кто может предложить что-нить похитрее?

Старый 05.08.2005, 18:29
DeadMorozz вне форума Посмотреть профиль Отправить личное сообщение для DeadMorozz Найти все сообщения от DeadMorozz
  № 2  
Ответить с цитированием
DeadMorozz
 
Аватар для DeadMorozz

Регистрация: Apr 2001
Адрес: Kiev-Simferopol
Сообщений: 133
может, есть смысл написать диспетчер, отслеживающий картинку централизованно, снаружи.
или, например, механизм в бомбе сделать как прототип или класс-- проверено, так скрипт меньше памяти жрет.
__________________
Понять - значит упростить. Хорошо понять - сделать самому.

Старый 05.08.2005, 18:31
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
если бомба убивает всех в радиусе, то можно просто растояние от бомбу до цели брать и сравнивать с радиусом.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.08.2005, 18:38
DeadMorozz вне форума Посмотреть профиль Отправить личное сообщение для DeadMorozz Найти все сообщения от DeadMorozz
  № 4  
Ответить с цитированием
DeadMorozz
 
Аватар для DeadMorozz

Регистрация: Apr 2001
Адрес: Kiev-Simferopol
Сообщений: 133
посмотреть бы... так можно долго пальцем в небе ковырять
__________________
Понять - значит упростить. Хорошо понять - сделать самому.

Старый 05.08.2005, 19:34
BloodyX вне форума Посмотреть профиль Отправить личное сообщение для BloodyX Найти все сообщения от BloodyX
  № 5  
Ответить с цитированием
BloodyX

Регистрация: Dec 2003
Адрес: Иркутск
Сообщений: 12
Вот, гляньте. Монстров еще нет, но препятствия и сам себя он убивает). В библиотеке нада выбрать bomb. Весь скрипт на 15ом кадре. И вообще оцените сделанное, мож не стоит и мучатся .
Вложения
Тип файла: rar Recent.rar (706.2 Кб, 52 просмотров)

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

Регистрация: Aug 2005
Адрес: не дом и не улица
Сообщений: 1,204
Цитата:
когда взрывается бомба, доллжен умирать тот подпадает под радиус. мне кажется, что выглядеть это должно как перебор всех возможных монстров, с целью проверки совпадения их координат с координатами бомбы(+радиус).
мож проще сделать, чтобы каждый монстр сам проверял - в радиусе он ли нет? (в класс монстра такую функцию например запихнуть). тогда сколько монстров будет, столько и проверок. и код полегче
__________________
Давайте нанесем по ним ядерный удар!

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

Регистрация: Dec 2003
Адрес: Иркутск
Сообщений: 12
Цитата:
мож проще сделать, чтобы каждый монстр сам проверял - в радиусе он ли нет? (в класс монстра такую функцию например запихнуть). тогда сколько монстров будет, столько и проверок. и код полегче
а помоему одно и то же...

Старый 05.08.2005, 19:56
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
еще можно упростить вычисления. если разница по одной из координат меньше радиуса, то можно и растояние не вычислять
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.08.2005, 20:02
BloodyX вне форума Посмотреть профиль Отправить личное сообщение для BloodyX Найти все сообщения от BloodyX
  № 9  
Ответить с цитированием
BloodyX

Регистрация: Dec 2003
Адрес: Иркутск
Сообщений: 12
мдяя. а если на карте будет, к примеру, 10000 обьектов... ))

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

Регистрация: Aug 2005
Адрес: не дом и не улица
Сообщений: 1,204
Цитата:
Сообщение от BloodyX
а помоему одно и то же...
Почему? Посмотри на свой скрипт - for i=1;i=99;i++ { - у тебя идет 99 вычислений даже если монстров на карте вобще нет или 2-3. А если проверка будет в монстре - при двух-трёх монстрах 2-3 проверки и будет. И счетчика до 99 нет
__________________
Давайте нанесем по ним ядерный удар!

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

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

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


 


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


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