1

Flex mobileの画像コンポーネントでtouchBeginイベントを検出したいのですが、<... touchBegin = "myMethod()" />を設定すると、その画像に触れてもトリガーされません。

何か案は?

4

2 に答える 2

2

トリガーされたイベントが表示されない理由は、デバイスによっては、touchBeginがタッチの開始時にトリガーされるイベントではない場合があり、touchBeginを使用するデバイスとmouseDownを使用するデバイスに多少の不一致があるように思われるためです。

たとえば、これをテストするために、次のプロパティを画像に配置しました。

touchBegin = "touchBeginHandler(event)"
mouseDown = "mouseDownHandler(event)"

そして次のコード:

protected function touchBeginHandler(event:TouchEvent):void
{
    trace("Touched");
}

protected function mouseDownHandler(event:MouseEvent):void
{
    trace("Moused");
} 

電話エミュレーターと私の実際の電話の両方で、結果は「Moused」のトレースステートメントでした。簡単に言うと、マウスダウンイベントを使用して、目的の結果が得られるかどうかを確認してください。

于 2012-03-15T16:33:52.743 に答える
1

マウスイベントの代わりにタッチイベントを取得するには、モバイルでマルチタッチジェスチャモードを実際に有効にする必要があると思います。

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/ui/Multitouch.html#inputMode

http://sujitreddyg.wordpress.com/2010/03/17/flex-4-application-handling-touch-events-on-android-with-flash-player-10-1/

于 2012-03-15T18:17:25.650 に答える