Två metoder har lagts till i
klassen Sprite
för ytterligare stöd för program med pekfunktioner som stöder pekrörelser via kontaktpunkter:
Sprite.startTouchDrag()
och
Sprite.stopTouchDrag()
. Dessa metoder har samma beteende som
Sprite.startDrag()
och
Sprite.stopDrag()
för mushändelser. Observera dock att metoderna
Sprite.startTouchDrag()
och
Sprite.stopTouchDrag()
båda tar
touchPointID
-värden som parametrar.
Körningen tilldelar
touchPointID
-värdet till händelseobjektet för en pekhändelse. Använd det här värdet som svar på en specifik kontaktpunkt om miljön har stöd för flera samtidiga kontaktpunkter (även om den inte hanterar gester). Mer information om egenskapen
touchPointID
finns i
Kontaktpunkts-ID
.
I följande kod visas en enkel händelsehanterare för händelsen börja dra och en händelsehanterare för händelsen sluta dra. Variabeln
bg
är ett visningsobjekt som innehåller
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");
}
Och nedan visas ett mer avancerat exempel som kombinerar dra-händelsen med faser för pekhändelsen:
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;
}