Zwei Methoden wurden der
Sprite-Klasse
hinzugefügt, um zusätzliche Unterstützung für berührungsempfindliche Anwendungen zu bieten, die die Eingabe über Berührungspunkte unterstützen:
Sprite.startTouchDrag()
und
Sprite.stopTouchDrag()
. Diese Methoden verhalten sich genauso wie
Sprite.startDrag()
und
Sprite.stopDrag()
bei Mausereignissen. Beachten Sie jedoch, dass die Methoden
Sprite.startTouchDrag()
und
Sprite.stopTouchDrag()
beide
touchPointID
-Werte als Parameter verwenden.
Die Laufzeit weist dem Ereignisobjekt den
touchPointID
-Wert für ein Berührungsereignis zu. Verwenden Sie diesen Wert, um auf einen bestimmten Berührungspunkt zu reagieren, falls die Umgebung mehrere Berührungspunkte gleichzeitig unterstützt (auch wenn keine Gesten verarbeitet werden). Weitere Informationen zur
touchPointID
-Eigenschaft finden Sie unter
Berührungspunkt-ID
.
Der folgende Code zeigt je eine einfache Ereignisprozedur für den Anfang und das Ende einer Ziehbewegung bei einem Berührungsereignis. Die Variable
bg
ist ein Anzeigeobjekt, das
mySprite
enthält:
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");
}
Der folgende Code zeigt ein etwas komplexeres Beispiel, in dem das Ziehen mit Berührungsereignisphasen kombiniert wird:
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;
}