터치 지점 입력을 지원하는 터치 지원 응용 프로그램을 추가로 지원하기 위해
Sprite 클래스
에 두 메서드,
Sprite.startTouchDrag()
및
Sprite.stopTouchDrag()
가 추가되었습니다. 이러한 메서드는 마우스 이벤트에 대한
Sprite.startDrag()
및
Sprite.stopDrag()
와 같은 방식으로 동작합니다. 다른 점이 있다면
Sprite.startTouchDrag()
및
Sprite.stopTouchDrag()
메서드는 모두
touchPointID
값을 매개 변수로 사용한다는 점입니다.
런타임에서는 터치 이벤트에 대한 이벤트 객체에
touchPointID
값을 할당합니다. 이 값을 사용하면 런타임 환경에서 여러 동시 터치 지점을 지원하는 경우(동작을 처리하지 않더라도) 특정 터치 지점에 응답하게 됩니다.
touchPointID
속성에 대한 자세한 내용은
터치 지점 ID
를 참조하십시오.
다음 코드에서는 터치 이벤트에 대한 간단한 시작 드래그 이벤트 핸들러와 중지 드래그 이벤트 핸들러를 보여 줍니다. 변수
bg
는
mySprite
를 포함하는 표시 객체입니다.
mySprite.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin);
mySprite.addEventListener(TouchEvent.TOUCH_END, onTouchEnd);
function onTouchBegin(e:TouchEvent) {
e.target.startTouchDrag(e.touchPointID, false, bg.getRect(this));
trace("touch begin");
}
function onTouchEnd(e:TouchEvent) {
e.target.stopTouchDrag(e.touchPointID);
trace("touch end");
}
또한 다음 코드에서는 드래그와 터치 이벤트 단계를 결합한 고급 예제를 보여 줍니다.
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
var mySprite:Sprite = new Sprite();
mySprite.graphics.beginFill(0x336699);
mySprite.graphics.drawRect(0,0,40,40);
addChild(mySprite);
mySprite.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin);
mySprite.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove);
mySprite.addEventListener(TouchEvent.TOUCH_END, onTouchEnd);
function onTouchBegin(evt:TouchEvent) {
evt.target.startTouchDrag(evt.touchPointID);
evt.target.scaleX *= 1.5;
evt.target.scaleY *= 1.5;
}
function onTouchMove(evt:TouchEvent) {
evt.target.alpha = 0.5;
}
function onTouchEnd(evt:TouchEvent) {
evt.target.stopTouchDrag(evt.touchPointID);
evt.target.width = 40;
evt.target.height = 40;
evt.target.alpha = 1;
}