![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 36
|
Господа, многократно утверждалось и на этом форуме в частности, что hittest медлителен, и для определения столкновений объектов в играх эффективнее применение геометрических алгоритмов.
Однако не все так просто на самом деле... Предположим требуется определить факт пересечения двух прямоугольников. На вскидку два способа : 1. определить соотношение проекций полудлин сторон прямоугольников 2. определить расстояние между точками фигур по теореме Пифагора. во втором способе для большинства случаев достаточно типа этого: var test:Boolean=false;
var dx:Number = _x-obj2._x;
var dy:Number = _y-obj2._y;
var dist:Number = Math.sqrt(dx*dx+dy*dy);
if (dist<obj2._width) test=true;
return test;
А первый способ (через проекции полудлин) вообще работал медленнее хиттеста при максимальной оптимизации на 8-10 миллисекунд. Собственно вопрос - как же обогнать хиттест, раз он такой "медленный"? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Использовать hitTest у BitmapData.
Обычный hitTest не годится для объектов непрямоугольной формы. |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 36
|
Цитата:
|
|
|||||
|
[+ 1.11 19.12.2005]
[+ 1.11 6.04.2006] |
http://noregret.org/tutor/index.html там есть на русском...
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 1,061
|
А хиттест разве медленный? че та не заметил....
|
|
|||||
|
мне тоже удивительно как скриптовые методы могут быть быстрее 'родных', нигде таких примеров не встречал..
можно говорить о преимуществе каких-то алгоритмов в сравнении с тупым перебором хиттестов в конкретной задаче, но обогнать хиттест скриптом в равных условиях не выйдет, имхо |
|
|||||
|
4AM Games
|
Ну в истории Flash Player были такие случаи =)
Например Питер Халл написал к пятой версии флэш плеера прототип для парсинга XML который работал быстрее встроеного =)
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
|
А я писал MotionTween, тоже был быстрее -)
И удобнее (для меня). До сих про в каждой задаче его юзаю. |
|
|||||
|
Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
|
Действительно mx.transitions.Tween.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 10:22. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|