객체를 만드는 클래스 내에서 부모 객체 또는 스테이지에 따라 표시 객체의 좌표를 참조 할 수 있습니까?AS3의 표시 객체의 드래그 좌표 제한
사용자 지정 클래스에서 새 스프라이트 개체를 만들고 표시 목록에 추가 할 때 드래그 좌표를 스테이지 나 스테이지 섹션으로 제한하는 코드를 사용자 정의 클래스 내에 포함하고 싶습니다. .
//Frame Script
import Swatch;
var test:Sprite = new Swatch();
addChild(test);
___________________
//Custom Class
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public class Swatch extends Sprite
{
public function Swatch()
{
init();
}
private function init():void
{
var swatchObject:Sprite = new Sprite();
swatchObject.graphics.beginFill(0x0000FF, 1);
swatchObject.graphics.drawRect(100, 100, 150, 150);
swatchObject.graphics.endFill();
swatchObject.addEventListener(MouseEvent.MOUSE_DOWN, onDrag, false, 0, true);
swatchObject.addEventListener(MouseEvent.MOUSE_UP, onDrop, false, 0, true);
this.addChild(swatchObject);
}
private function onDrag(evt:MouseEvent):void
{
evt.target.startDrag();
//how to limit it's dragability to the Stage?
}
private function onDrop(evt:MouseEvent):void
{
evt.target.stopDrag();
}
}
}
사용자가 객체를 클릭하고 무대로 넘어가는 경우에 대비하여 Event.MOUSE_LEAVE 이벤트를 수신 대기해야한다는 것을 잊지 마십시오 ('onDrop'을 첨부하십시오). (아마 이것은 startDrag()'기능이 이미 있습니까?). 참조 : http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/display/Stage.html#event:mouseLeave – Cameron