Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   HitTest (http://www.flasher.ru/forum/showthread.php?t=41921)

Max N Chubin_ 21.01.2003 01:16

гм...
 
2 BlackChuvak:
я думал ты покажешь как все сделать на getbounds()

2 navidim:
скачай файл attachment
переименуй его в attachment.zip и распакуй...
или сразу открывай а не скачивай а када система спросит чем открывать укажи WInZip

мне непонятно куда смотрят админы!!!
уже столько раз ЖАЛОВАЛИСЬ ЛЮДИ!!!!
Модераторы, вы где???
Достучитесь до небес - жуть как неудобно!
:(

BlackChuvak 21.01.2003 17:08

2 Sergey"iLoveYou" :
Что здесь непонятного? В исходноке можно менять форму клипа на какую захочешь! Если ты думаешь, что этот мув работает только благодаря квадратности прямоугольника, то ты ошибаешься!!!

2 Max N Chubin_ :
Я же расписал в клипе всё... Ну, если не понятно, то - getBounds() - Это такая фишка, которая описывает объект сверху, снизу, справа и слева и во всех выемках, углублениях и т.п., т.е. русским языком, getBounds() дословно это "сделать стены", и если приписать эти "стены" к hitTest'у, то флэш будет проверять сталкивается ли объект не по квадратику, а по контуру(даже невидимому)! Если не понял, свяжись со мной по аське.

llllllllll 21.01.2003 18:03

Цитата:

Оригинал написал(а) BlackChuvak
Ну, если не понятно, то - getBounds() - Это такая фишка, которая описывает объект сверху, снизу, справа и слева и во всех выемках, углублениях и т.п.,
ты думаешь чего говоришь то? =)

hwait 21.01.2003 19:40

Вложений: 1
Честно, тоже нихрена не понял. исходник к тому же не работал. Но немного подправил - и по крайней мере отталкивается вверх не от прямоугольного объекта, это точно!

iLoveYou 21.01.2003 20:05

Мда...
 
Ну, способ имеет право на жизнь...

llllllllll 21.01.2003 20:27

Максимум, чисто для теории =) ,
можно сделать следующее:

box = _mc.getBounds(_root);
for(y = box.yMin ; y < box.yMax ; y++ ){
var str = "";
for( x=box.xMin ; x < box.xMax ; x++ ){
str += Number(_mc.hitTest(x,y,true));
}
trace(str);
}

, ну и такое же соответственно для второго мувика, ну а потом сравнивать две матрицы =), ну и там всякие алгоритмы Сазерленда и т д ....

Мдя ... =)

llllllllll 21.01.2003 21:49

0000000000011111111111100000000000
0000000011111111111111111100000000
0000000111111111111111111110000000
0000001111111111111111111111100000
0000111111111111111111111111110000
0001111111111111111111111111111000
0011111111111111111111111111111100
0011111000000111111110000001111100
0111111000000111111110000001111110
0111111000000111111110000001111110
0111111000000111111110000001111110
0111111111111111111111111111111110
0111111111111111111111111111111110
0111111111111111111111111111111110
0111111111111111111111111111111110
0011111111111111111111111111111100
0011111100000000000000000001111100
0001111110000000000000000111111000
0000111111100000000000001111110000
0000001111111110000011111111100000
0000000111111111111111111110000000
0000000001111111111111111000000000
0000000000001111111111000000000000
0000000000000000000000000000000000
0000000000000000000000000000000000

Max N Chubin_ 21.01.2003 22:56

гм...
 
нужно будет пофантазировать над алгоритмом обработки столкновений через матрицы..
хотя сдается мне что перебор контрольных точек в цикле через hitTest будет проще и менее ресурсоемко...

llllllllll 22.01.2003 00:08

Фантазировать тут нефик, вот эта РОЖА =) на моем компе генерилась 1 секунду - это ОЧЕНЬ ДОЛГО =), а чуть больше размеры мува и все флеш повис ... че то там должен сказать про число итераций кажись ... я же говорю "теоретически" =)

BlackChuvak 22.01.2003 03:43

Вложений: 1
2 llllllllll
Да, ты просто убрал 3 ненужных в этом клипе getBounds()
А вот если так?


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

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