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

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

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

Регистрация: May 2009
Сообщений: 45
Question HitTest для дублированных мувиклипов

Здравствуйте!
Недавно столкнулась с проблемой, которую не смогла решить. Мне очень нужно осуществить реализацию, при этом задействовав не много ресурсов компьютера, чтобы не нагружать процессор. Пожалуйста, кто может - помогите. Дело вот в чем:

В сцене есть много машинок, все они были получены посредством duplicateMovieClip. Каждому новому экземпляру машины присваивается instance name в виде car+i, где i - цифра, увеличенная на единицу после каждого дублирования. Нужно осуществить взаимодействие машинок методом hitTest. То есть если одна машина врезается в другую, (любая машина в любую другую) - происходит что-то. При этом не хочется обходить все экземпляры машин посредством:
for (var i=0; i<количество машин; i++) {} чтобы не нагружать процессор, ибо машин может быть до 300...

Пожалуйста, подскажите как можно реализовать то, что мне нужно. Большое спасибо за Ваше внимание!

Старый 06.05.2009, 01:16
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
300 - это не так уж много. Сложность в том, чтобы делать этот обход ежесекундно, если событие, при котором следует сделать проверку, не определено, то есть если отслеживать надо непрерывно.
Пока неясно. Слушателей вешать на каждый мувик, но насколько нагрузит процессор такое количество, надо тестировать...

Старый 06.05.2009, 01:58
Angelinka вне форума Посмотреть профиль Отправить личное сообщение для Angelinka Найти все сообщения от Angelinka
  № 3  
Ответить с цитированием
Angelinka

Регистрация: May 2009
Сообщений: 45
Да, вот в том то и дело. Даже не ежесекундно, а 40 раз в секунду, если fps стоит 40, как в данном случае.

Старый 06.05.2009, 02:32
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Уточните, то есть все 300 машин сейчас у вас двигаются одновременно, при 40 fps, и ничего у вас не тормозит, всё вас устраивает?
Upd: увидел, что вы написали - может быть до 300. Сделайте и посмотрите, как это будет выглядеть и можно уже и о отслеживании столкновений думать.
Upd2: Я еще, конечно, имею небольшой стаж в программировании на AS, но.. если рассуждать строго, нам нужно 40 раз в секунду отслеживать возможность 300 x 300 = 90 000 событий... Задачка..


Последний раз редактировалось mooncar; 06.05.2009 в 02:41.
Старый 06.05.2009, 03:08
Angelinka вне форума Посмотреть профиль Отправить личное сообщение для Angelinka Найти все сообщения от Angelinka
  № 5  
Ответить с цитированием
Angelinka

Регистрация: May 2009
Сообщений: 45
нет. одновременно на сцене находится до 5 машин. Все машины, которые выходят за пределы документа удаляются. Но идентификаторы то продолжают расти. Таким образом, на сцене могут находится машины с именем car326 или car 143...

Старый 06.05.2009, 04:09
Vektor вне форума Посмотреть профиль Отправить личное сообщение для Vektor Найти все сообщения от Vektor
  № 6  
Ответить с цитированием
Vektor
 
Аватар для Vektor

Регистрация: May 2008
Адрес: Новокузнецк
Сообщений: 219
Записей в блоге: 1
1) Все, машинки заносим в массив.
2) Удаляем машинку из массива, когда она за экраном.
3) Делаем проверку hitTest через массив.
4) Добавляем машинку в массив, когда она на экране.
5) Изучаем, работу с массивом.
__________________
Книги и желание лучшие учителя.

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

Теги
duplicateMovieClip , hittest
Опции темы
Опции просмотра

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

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


 


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


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