0

したがって、私はこのコードの作成に数週間取り組んできましたが (私は AS3 の初心者です)、タッチ入力を受け取る動作ボタンをどのように作成するかを一生理解できません。このコードは Adob​​e サンプルの 1 つをモデルにしていますが、実行するとうまくいきません。

これが私のコードです:

package MovementButtons
{
    import flash.events.Event;
    import flash.display.MovieClip;
    import flash.display.SimpleButton;
    import flash.events.TouchEvent;


    public class TouchInput extends MovieClip
    {
        public var bLeftPressed:Boolean = true;
        public var bRightPressed:Boolean = true;

        public var nSpeed:Number = 100;
    }

    public function TouchInput()
    {
        left_btn.addEventListener(TouchEvent.TOUCH_BEGIN, TouchBeginHandler, false, 0, true);
        left_btn.addEventListener(MouseEvent.TOUCH_END, TouchEndHandler, false, 0, true);
        right_btn.addEventListener(TouchEvent.TOUCH_BEGIN, TouchBeginHandler, false, 0, true);
        right_btn.addEventListener(TouchEvent.TOUCH_END, TouchEndHandler, false, 0, true);

        //Updating Screen
        addEventListener(TouchEvent.TOUCH_BEGIN, enterFrameMoveHandler);
    }

    protected function enterFrameMoveHandler(event:TouchEvent):void
    {
        var click.txt:String= "The function is working";
        while ( bLeftPressed ) {
            guy_mc.x -= nSpeed;
        }
        while( bRightPressed ) {
            guy_mc.x += nSpeed;
        }
    }

    protected function TouchBeginHandler(event:TouchEvent):void
    {
        click.txt = "Its clicked.";
        switch ( event.target )
        {
            case left_btn:
                left = true;
                break;
            case right_btn:
                right = true;
                break;
        }
    }

    protected function TouchEndHandler(event:MouseEvent):void
    {
        switch ( event.target )
        {
            case left_btn:
                left = false;
                break;
            case right_btn:
                right = false;
                break;
        }
    }   
}
4

1 に答える 1

0

をご覧くださいMultitouch.inputMode。これにより、アプリが受け入れるタッチ入力の種類が決まります。GESTURE必要な場合は、デフォルトで になりますTOUCH_POINT

MouseEventまたは、代わりに同等のものを使用することもできます。タッチ デバイスでMouseEventは、 は とほぼ同じ方法でディスパッチされTouchEventます。TouchEventほとんどの開発者は、特別な理由がない限り、このクラスを完全に無視します。

今後の参考のために、「動作しない」以外の詳細を質問に含める必要があります。ここではやみくもに問題をデバッグしようとしているので、提供できる情報が多ければ多いほどよいでしょう。幸いなことに、これはタッチ イベントを処理する場合によくある問題です。

于 2013-11-11T19:42:09.873 に答える