Показать сообщение отдельно
Старый 21.11.2008, 14:59
goarcade вне форума Посмотреть профиль Отправить личное сообщение для goarcade Найти все сообщения от goarcade
  № 9  
Ответить с цитированием
goarcade

Регистрация: Sep 2006
Сообщений: 32
вот, быстро накидал кода
лови:
Код AS1/AS2:
var p0:MovieClip = createPoint(170,270);
var p1:MovieClip = createPoint(300,100);
 
var a:MovieClip = createPoint(200,200);
var b:MovieClip = createPoint(300,200);
var c:MovieClip = createPoint(300,300);
var d:MovieClip = createPoint(200,300);
 
onEnterFrame = function()
{
	_root.clear();
 
	var hit:Boolean = true;
 
	var dx:Number = p1._y-p0._y;
	var dy:Number = p0._x-p1._x;	
	var s0:Number = (a._x-p0._x)*dx+(a._y-p0._y)*dy;
	var s1:Number = (b._x-p0._x)*dx+(b._y-p0._y)*dy;
	var s2:Number = (c._x-p0._x)*dx+(c._y-p0._y)*dy;
	var s3:Number = (d._x-p0._x)*dx+(d._y-p0._y)*dy;	
	if(	(s0> 0&&s1> 0&&s2> 0&&s3> 0)||
		(s0<=0&&s1<=0&&s2<=0&&s3<=0))hit=false;
 
	beginFill((hit)?0xff0000:0x00ff00);
	moveTo(a._x,a._y);
	lineTo(b._x,b._y);	
	lineTo(c._x,c._y);	
	lineTo(d._x,d._y);	
	endFill();
 
 
	lineStyle(1);
	moveTo(p0._x,p0._y);
	lineTo(p1._x,p1._y);	
}
function createPoint(x:Number,y:Number):MovieClip
{
	var i:Number = getNextHighestDepth();
	var p:MovieClip = createEmptyMovieClip("point"+i.toString(),i);
	p.beginFill(0);
	p.lineTo(7,0);
	p.lineTo(0,7);
	p.endFill();
	p._x = x;
	p._y = y;
	p.onPress = function(){this.startDrag();}
	p.onMouseUp = function(){this.stopDrag();}
	return p;
}