Due metodi sono stati aggiunti alla classe
Sprite
per fornire supporto aggiuntivo per le applicazioni abilitate al tocco che supportano l'input tocco:
Sprite.startTouchDrag()
e
Sprite.stopTouchDrag()
. Il funzionamento di questi metodi è identico a quello di
Sprite.startDrag()
e
Sprite.stopDrag()
per gli eventi del mouse. Tuttavia, osservate che i metodi
Sprite.startTouchDrag()
e
Sprite.stopTouchDrag()
accettano entrambi valori
touchPointID
come parametri.
Il runtime assegna il valore
touchPointID
all'oggetto evento per un evento di tocco. Utilizzate questo valore per rispondere a un punto di tocco specifico nel caso l'ambiente supporti più punti di tocco simultanei (anche se non gestisce le manovre). Per ulteriori informazioni sulla proprietà
touchPointID
, vedete
ID punto di tocco
.
Il codice seguente mostra un semplice gestore eventi di avvio trascinamento e gestore eventi di arresto trascinamento per un evento di tocco. La variabile
bg
è un oggetto di visualizzazione contenente
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");
}
Di seguito viene mostrato un esempio più complesso che combina il trascinamento con fasi dell'evento di tocco:
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;
}