Dokunma noktası girdisini destekleyen dokunmatik uygulamalara ek destek sağlamak üzere,
Sprite sınıfı
adresine iki yöntem eklenmiştir:
Sprite.startTouchDrag()
ve
Sprite.stopTouchDrag()
. Bu yöntemler fare olaylarında
Sprite.startDrag()
ve
Sprite.stopDrag()
gibi davranır. Ancak,
Sprite.startTouchDrag()
ve
Sprite.stopTouchDrag()
yöntemlerinin her ikisinin de parametre olarak
touchPointID
aldığı gözden kaçırılmamalıdır.
Çalışma zamanı, bir dokunma olayı için olaya
touchPointID
değerini atar. Ortamın aynı anda birden fazla dokunma noktasını desteklemesi durumunda (el hareketlerini işlemese bile), belli bir dokunma noktasına yanıt vermek için bu değeri kullanın.
touchPointID
özelliği hakkında daha fazla bilgi almak için bkz.
Dokunma Noktası Kimliği
.
Aşağıdaki kod, bir dokunma olayı için basit bir sürüklemeye başla olayı işleyicisini ve sürüklemeyi durdur olayı işleyicisini göstermektedir.
bg
değişkeni,
mySprite
içeren bir görüntüleme nesnesidir:
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");
}
Aşağıda ise sürüklemeyi dokunma olayı aşamalarıyla birleştiren daha gelişmiş bir örnek gösterilmektedir:
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;
}