Bazel
14.04.2011, 15:29
вопрос :
У нас есть Фигура нарисованна на экране (круг) и есть прямая тоже нарисованная на экране. почему среда считает что круг касается прямой когда на самом деле нифига не касается ?
вот работающий код для наглядности
package
{
import flash.events.* ;
import flash.display.* ;
public class example extends Sprite
{
public var circle : Sprite = new Sprite ( ) ;
public var line : Shape = new Shape ( ) ;
public function example ( )
{
circle.graphics.lineStyle(1,0xff0000) ;
circle.graphics.beginFill(0xff0000);
circle.graphics.drawCircle(500,250,20) ;
addChild(circle) ;
circle.addEventListener(MouseEvent.MOUSE_DOWN,drag) ;
circle.addEventListener(MouseEvent.MOUSE_UP ,stopdrag) ;
line.graphics.lineStyle(1,0x0000ff) ;
line.graphics.moveTo(100,100) ;
line.graphics.lineTo(300,300) ;
addChild(line) ;
trace ("перетащи красный круг на линию пожалуйста" ) ;
}
public function drag (e: MouseEvent)
{
circle.startDrag( ) ;
}
public function stopdrag (e:MouseEvent)
{
circle.stopDrag( ) ;
if (circle.hitTestObject(line))
{
trace (" произошло касание" ) ;
}
else
{
trace ("касания не произошло" ) ;
}
}
}
}
откройте тайну
У нас есть Фигура нарисованна на экране (круг) и есть прямая тоже нарисованная на экране. почему среда считает что круг касается прямой когда на самом деле нифига не касается ?
вот работающий код для наглядности
package
{
import flash.events.* ;
import flash.display.* ;
public class example extends Sprite
{
public var circle : Sprite = new Sprite ( ) ;
public var line : Shape = new Shape ( ) ;
public function example ( )
{
circle.graphics.lineStyle(1,0xff0000) ;
circle.graphics.beginFill(0xff0000);
circle.graphics.drawCircle(500,250,20) ;
addChild(circle) ;
circle.addEventListener(MouseEvent.MOUSE_DOWN,drag) ;
circle.addEventListener(MouseEvent.MOUSE_UP ,stopdrag) ;
line.graphics.lineStyle(1,0x0000ff) ;
line.graphics.moveTo(100,100) ;
line.graphics.lineTo(300,300) ;
addChild(line) ;
trace ("перетащи красный круг на линию пожалуйста" ) ;
}
public function drag (e: MouseEvent)
{
circle.startDrag( ) ;
}
public function stopdrag (e:MouseEvent)
{
circle.stopDrag( ) ;
if (circle.hitTestObject(line))
{
trace (" произошло касание" ) ;
}
else
{
trace ("касания не произошло" ) ;
}
}
}
}
откройте тайну