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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.01.2012, 21:43
scarm вне форума Посмотреть профиль Отправить личное сообщение для scarm Найти все сообщения от scarm
  № 1  
Ответить с цитированием
scarm
[+1 20.11.11]
 
Аватар для scarm

Регистрация: May 2011
Адрес: Orenburg
Сообщений: 37
По умолчанию Как быстрее обнаружить столкновение?

Игровое поле - "Шахматная" матрица. На поле рандомно стоят враги, из героя вылетает пуля.
Пуля двигается по таймеру с delay = 50, пуль на поле может быть несколько, до 10-20, поэтому, важна производительность.
Стоит задача обнаружить столкновение пули с врагом.
Передо мной сейчас два варианта решения:
  1. Просчитать координаты пули, сравнить с координатами врагов, при попадании профит. Минус - можно просчитать только координаты клетки, в которой сидит злодей, а его размеры могут быть меньше. С другой стороны, при тайминге в 50мс, это не критично.
  2. Отслеживать кто на данный момент лежит под пулей через
Код AS3:
gameField.getObjectsUnderPoint(new Point(bullet[i].x, bullet[i].y));
В п.2 прибавляется трата ресурсов на отфильтровку от мусора полученного массива, т.к. внизу всегда находится 5-6 объектов

Собственно, вопрос, какой из этих вариантов будет производительнее?
Заранее спасибо.

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

Регистрация: May 2008
Адрес: Новокузнецк
Сообщений: 219
Записей в блоге: 1
Цитата:
Пуля двигается по таймеру с delay = 50, пуль на поле может быть несколько, до 10-20, поэтому, важна производительность.
Я не понял, 10-20 это что много, по-моему, мы из каменного века, вроде вышли или я неправ.
__________________
Книги и желание лучшие учителя.

Старый 15.01.2012, 22:18
scarm вне форума Посмотреть профиль Отправить личное сообщение для scarm Найти все сообщения от scarm
  № 3  
Ответить с цитированием
scarm
[+1 20.11.11]
 
Аватар для scarm

Регистрация: May 2011
Адрес: Orenburg
Сообщений: 37
Честно говоря, не знаю))) меня смущает не столько количество, сколько то, что все просчеты должны проделываться каждую итерацию, т.е. 50мс. При тестовом рендере запускал пули с каждого края доски по 6 штук (итого 6*4=24). Пули просто перемещались без обсчета столкновений. На моем стареньком ноутбуке (1гиг оперативки + винXP) заметно ощущалось торможение. Если добавить расчеты, то не факт, что вышли из каменного века

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

Регистрация: May 2008
Адрес: Новокузнецк
Сообщений: 219
Записей в блоге: 1
Процессор в основном нагружает, графика, а ваши расчеты он проглотит и даже не поперхнется, вот если бы счёт шёл на сотни или даже на тысячи, вот тогда можно было бы подумать об оптимизации.
__________________
Книги и желание лучшие учителя.

Старый 15.01.2012, 22:35
scarm вне форума Посмотреть профиль Отправить личное сообщение для scarm Найти все сообщения от scarm
  № 5  
Ответить с цитированием
scarm
[+1 20.11.11]
 
Аватар для scarm

Регистрация: May 2011
Адрес: Orenburg
Сообщений: 37
Кстати да, анимации там порядочно. Ок, спасибо, буду дальше ехать)

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

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

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


 


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


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