タッチイベントを取得したいスターリングSprite
があります。 A使用していますスターリングスプライト内の空きスペースのタッチイベント
content.addEventListener(TouchEvent.TOUCH, onTouch);
function onTouch(e:TouchEvent) {
var touch:Touch = e.getTouch(content) as Touch;
if (touch) {
//do something
}
}
ただし、これはSpriteの子がタッチされていて、それらの間のスペースではない場合にのみ機能します。アルファ画像を作成してその下にスティックすると、タッチイベントを受け取るべきだと思っていますが、より良い方法がありますか?
また、私はステージ上のタッチを聞いて、hitTestPoint()
と同等のことをすることを考えていました。
私は
var hitTest = (touch && content.hitTest(this.globalToLocal(new Point(touch.globalX, touch.globalY))));
を思い付いた。しかし、これは、コンテンツスプライトの子をタッチすると、タッチイベントのみが働いている、どちらか動作するようには思えません。
ソリューション:最後に
Cherniv
bg = new Quad(width, height);
bg.alpha = 0;
addChildAt(bg, 0);
「isTouching()」を試しましたか?http://doc.starling-framework.org/core/starling/events/Touch.html#isTouching()? – Cherniv