Показать сообщение отдельно
Старый 06.10.2003, 13:30
asvserg вне форума Посмотреть профиль Отправить личное сообщение для asvserg Найти все сообщения от asvserg
  № 1  
asvserg

Регистрация: Sep 2003
Сообщений: 5
По умолчанию Ошибается hitTest.... помогите

есть мувик, при нажатии мышки я делаю:
Код:
dr = this.duplicateMovieClip("dr",++drag_depth,this);
dr.parent = this;
затем таскаю копию.... когда отпускаю - копия возвращается на начальное место:
Код:
function obj_MouseUp() {
...........
angle_rad=Math.atan2(((dr._y+dr._height/2) - (dr.parent._y+dr._height/2)),	
                     ((dr._x+dr._width /2) - (dr.parent._x+dr._width /2)));
dy=Math.sin(angle_rad);
dx=Math.cos(angle_rad);
........
} // func

_root.onEnterFrame = function () {
    if (!return_obj) {
	return;
    } //if
	for(i=1;i<=12;i++) {
		dr._x -= dx*2;
		dr._y -= dy*2;
		var y = dr._y+dr._height/2;
		var x = dr._x+dr._width /2;
		if (dr.parent.hitTest(dr) ||
		   dr.parent.hitTest(x+20,y,false)    ||
		   dr.parent.hitTest(x-20,y,false) 	||
		   dr.parent.hitTest(x,y+20,false)	||
		   dr.parent.hitTest(x,y-20,false)) {
			
		   dr.removeMovieClip();
		   return_obj = false;
		   break;
		} // if
           } // for
} // func
проблема в том, что порожденный объект проходит через своего родителя и не удаляется... диаметр объекта 16 пикселей, пробовал проверять по нескольким точкам, увеличил дискретизацию перемещения -- все равно периодически проскакиевает :-( при этом визуально порожденный объект точно проходит через родителя !!!!
ошибка не периодична!!!
Помогите... кроме вычисления длины гипотинузы и проверки пройденного пути ничего в голову не приходит....