Показать сообщение отдельно
Старый 09.09.2007, 16:10
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Я не про то )
Мораль прочитай, и не повторяй моих ошибок... (меня все ещё трясет)

2 __etc

Код:
function collision(ball:Object,obj:Object){
	if (dist(ball._x,obj._x,ball._y,obj._y)<(obj._width+ball._width)/2){
		var side=dist(obj._x+obj._width/2,ball._x,obj._y,ball._y); //правая
		var type:String="r"; //right
		var oldSide=side;
		side=Math.min(side,dist(obj._x-obj._width/2,ball._x,obj._y,ball._y)); // в сайд у нас координаты левой\правой стороны, какая больше.
		trace ("Side="+side+", Oldside="+oldSide);
		if (oldSide!=side) type="l";
	}
	}
	
	
function dist(x1,x2,y1,y2){ //растояние между 2 любыми точками
	return Math.round(Math.sqrt(Math.abs(x1-x2)*Math.abs(x1-x2)+Math.abs(y1-y2)*Math.abs(y1-y2)));
}

this.onEnterFrame=function(){
	c=collision(ball,obj);
	}
	startDrag(ball,true);
2 Шара, ball был меньше шара obj

Подносим болл к обж - с левой стороны все нормально, с правой они равны.


Последний раз редактировалось Psycho Tiger; 09.09.2007 в 16:18.