![]() |
|
||||||||||
|
|||||
|
[+1.3 11.09.06]
[+4 22.09.06] Регистрация: Jul 2006
Сообщений: 141
|
Здрасте )
Как узнать x и y места, где отХитТестились два мувика? |
|
|||||
|
Привет )
Не понял, как это: "ак узнать x и y места, где отХитТестились два мувика" ? Мувики имеют множество точек, в которых он отхиттестились. |
|
|||||
|
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 miramax:
Человек интересуется collision respons'ом. ^_^ 2 Neosano: Лучше тогда уж делать это аналитически - с помощью ограничивающих фигур. Нужна ли вам попиксельная точность?
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
|
Берешь. Создаешь два цикла(один вложеный в другой) и так перебераешь все точки поля. Далее если обнаружил точку, которая пренадлежит двум клипам тогда заливаешь ее в массив.
|
|
|||||
|
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 BigDan:
Какой быстрый и изящный метод. ^_^
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
|
Так лучше:
var rightClip:MovieClip;
var leftClip:MovieClip;
var upClip:MovieClip;
var downClip:MovieClip;
var arrCords:Array=[];
function leftAndRight(clip1,clip2){
if(clip1._x<=clip2._x){
leftClip=clip1;
rightClip=clip2;
}else{
rightClip=clip1;
leftClip=clip2;
}
}
function upAndDown(clip1,clip2){
if(clip1._y<=clip2._y){
upClip=clip1;
downClip=clip2;
}else{
downClip=clip1;
upClip=clip2;
}
}
upAndDown(clip1,clip2);
leftAndRight(clip1,clip2);
for(var i=leftClip._x-leftClip._width/2;i<=rightClip._x+rightClip._width/2;i++){
for(var j=upClip._y-upClip._height/2;j<=downClip._y+downClip._height/2;j++){
if(clip1.hitTest(i,j,true) && clip2.hitTest(i,j,true)){
arrCords.push({x:i,y:j});
}
}
}
|
|
|||||
|
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 BigDan:
Не вариант сталкивать мувиклипы со всеми точками других мувиклипов. Так никто не делает никогда. Обычно люди преувеличивают свою нужду в точности. Чаще всего круг, прямоугольник или набор капсул решает проблему. Да что там говорить? Вон, многие думают, что в том-же Half-Life 2 бочка круглая и столкновение с землёй проверяется для того же мэша, что и для бочки... ^_^
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
|
Цитата:
|
|
|||||
|
[+1.3 11.09.06]
[+4 22.09.06] Регистрация: Jul 2006
Сообщений: 141
|
мне особая точность не нужна, только чтоб не притормаживало из за этого
|
|
|||||
|
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 Neosano:
Окружности, прямоугольники...
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:07. |
|
|
« Предыдущая тема | Следующая тема » |
|
|