やあみんな、私はしばらくこれに行き詰まっていて、ついに助けを求めると思った. 基本的に、これらのタッチイベントによって処理されるキャラクターがあります。
//setup Listeners when btn's touch begin and end
btnUp.addEventListener(TouchEvent.TOUCH_BEGIN, btnUpMouseOver, false, 0, true);
btnUp.addEventListener(TouchEvent.TOUCH_END, btnUpMouseOver, false, 0, true);
btnDown.addEventListener(TouchEvent.TOUCH_BEGIN, btnDownMouseOver, false, 0, true);
btnDown.addEventListener(TouchEvent.TOUCH_END, btnDownMouseOver, false, 0, true);
private function btnDownMouseOver(e:TouchEvent):void
{
//trace("btnDownRollover");
if (e.type == TouchEvent.TOUCH_BEGIN)
{
//Mouse was pressed on this button
btnPressedDown = true;
}
else if(e.type == TouchEvent.TOUCH_END)
{
//Mouse was released
btnPressedDown = false;
}
}
private function btnUpMouseOver(e:TouchEvent):void
{
//trace("btnUpRollOver");
if (e.type == TouchEvent.TOUCH_BEGIN)
{
//Mouse was pressed on this button
btnPressedUp = true;
}
else if(e.type == TouchEvent.TOUCH_END)
{
//Mouse was released
btnPressedUp = false;
}
}
今はすべて正常に動作しています。ボタンを押してキャラクターを上下に動かすと、完全に反応します。しかし、私が修正に苦労しているバグは、ボタンを押すだけでなく、ボタンをスワイプしてキャラクターを上下に移動すると、キャラクターがステージの上部に飛んでスタックしてしまうことです。次に、ボタンを離すと、人がボタンを上または下にスワイプしたかどうかに応じて、上または下に飛びます。ここで間違っていることがわかりますか?多分私はTOUCH_MOVEやTOUCH_OUTのような別のものを使うべきですか? 任意の助けをいただければ幸いです。