1

やあみんな、私はしばらくこれに行き詰まっていて、ついに助けを求めると思った. 基本的に、これらのタッチイベントによって処理されるキャラクターがあります。

//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のような別のものを使うべきですか? 任意の助けをいただければ幸いです。

4

0 に答える 0