パッケージ | flash.ui |
クラス | public final class Multitouch |
継承 | Multitouch Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10.1, AIR 2, Flash Lite 4 |
- flash.events.TouchEvent
- flash.events.GestureEvent
- flash.events.GesturePhase
- flash.events.TransformGestureEvent
- flash.events.PressAndTapGestureEvent
これらのクラスを使用して、タッチイベントを処理するコードを書きます。 Multitouch クラスを使用して、現在の環境でタッチ操作がサポートされているかどうかを確認します。サポートされている場合は、タッチ操作のサポートを管理します。
ActionScript コードから直接 Multitouch オブジェクトを作成することはできません。new Multitouch()
を呼び出すと、例外がスローされます。
注意:Multitouch 機能は、Mac OS 上で実行する HTML に埋め込まれた SWF ファイルではサポートされません。
詳細
Christian Cantrell:Multitouch and gesture support on the Flash Platform
Lee Brimelow:Flash Player 10.1 multi-touch FAQ
Piotr Walczyszyn:Multitouch development in Flex
関連する API エレメント
flash.events.GestureEvent
flash.events.TransformGestureEvent
flash.events.GesturePhase
flash.events.PressAndTapGestureEvent
flash.events.MouseEvent
flash.events.EventDispatcher.addEventListener()
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
inputMode : String [静的]
タッチおよびジェスチャイベントを扱うマルチタッチモードを識別します。 | Multitouch | ||
mapTouchToMouse : Boolean [静的]
AIR ランタイムはタッチイベントをマウスイベントにマップするかどうかを指定します。 | Multitouch | ||
maxTouchPoints : int [静的] [読み取り専用]
現在の環境でサポートされる最大同時タッチポイント数です。 | Multitouch | ||
supportedGestures : Vector.<String> [静的] [読み取り専用]
現在の環境でサポートされるマルチタッチ接触タイプのベクトル配列(文字列値の入力された配列)です。 | Multitouch | ||
supportsGestureEvents : Boolean [静的] [読み取り専用]
現在の環境が、タッチスクリーンの周囲で 2 本の指を回転するなどのジェスチャ入力をサポートするかどうかを指定します。 | Multitouch | ||
supportsTouchEvents : Boolean [静的] [読み取り専用]
現在の環境が、一本指タップなどの基本タッチ入力をサポートするかどうかを指定します。 | Multitouch |
inputMode | プロパティ |
inputMode:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10.1, AIR 2, Flash Lite 4 |
タッチおよびジェスチャイベントを扱うマルチタッチモードを識別します。このプロパティを使用する目的は、イベントを送出する場合に、複数箇所の接触ポイントがあるタッチイベントおよび様々なジェスチャのある特定のイベント(回転やパンなど)、または 1 箇所の接触ポイント(タップなど)、あるいはまったくない(接触はマウスイベントとして扱われる)ものとしてイベントを送出するかどうかを管理するためです。このプロパティを設定するには、flash.ui.MultitouchInputMode クラスの値を使用します。
デフォルト値: gesture。
実装
public static function get inputMode():String
public static function set inputMode(value:String):void
関連する API エレメント
例 ( この例の使用方法 )
Multitouch.inputMode=MultitouchInputMode.TOUCH_POINT; var mySprite:Sprite = new Sprite(); var myTextField:TextField = new TextField(); mySprite.graphics.beginFill(0x336699); mySprite.graphics.drawRect(0,0,40,40); addChild(mySprite); mySprite.addEventListener(TouchEvent.TOUCH_TAP, taphandler); function taphandler(e:TouchEvent): void { myTextField.text = "I've been tapped"; myTextField.y = 50; addChild(myTextField); }
mapTouchToMouse | プロパティ |
mapTouchToMouse:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 3 |
AIR ランタイムはタッチイベントをマウスイベントにマップするかどうかを指定します。
デフォルトの true
の場合、AIR ランタイムはタッチ入力のためのタッチイベントに加えて、マウスイベントを送出します。false
の場合、ランタイムは追加マウスイベントを送出しません。このプロパティを false
に設定すると、マウスイベントに依存している既存のコード、ライブラリおよびフレームワークが、タッチ入力をサポートするデバイス上で誤った動作をすることがあります。
実装
public static function get mapTouchToMouse():Boolean
public static function set mapTouchToMouse(value:Boolean):void
関連する API エレメント
maxTouchPoints | プロパティ |
supportedGestures | プロパティ |
supportedGestures:Vector.<String>
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10.1, AIR 2, Flash Lite 4 |
現在の環境でサポートされるマルチタッチ接触タイプのベクトル配列(文字列値の入力された配列)です。文字列の配列を、イベントリスナーを登録するイベントタイプとして使用できます。 有効な値は、GestureEvent クラス、PressAndTapGestureEvent クラスおよび TransformGestureEvent クラス(GESTURE_PAN
など)からの定数です。
Flash ランタイムがマルチタッチジェスチャをサポートしない環境にある場合、値は null
になります。
注意:MacOS 10.5.3 以降では、Multitouch.supportedGestures
は、現在のハードウェアがジェスチャ入力をサポートしていない場合でも、null 以外の値を返します(つまり、ジェスチャイベントをサポートしているという正しくない値を返します)。
マルチタッチジェスチャをサポートのテストする場合にこのプロパティを使用します。次に、使用可能なマルチタッチジェスチャにこのイベントハンドラーを使用します。現在の環境でサポートされていないこれらのジェスチャについては、ほかのイベントハンドリングを作成する必要があります。
実装
public static function get supportedGestures():Vector.<String>
関連する API エレメント
flash.events.MouseEvent
flash.events.EventDispatcher.addEventListener()
flash.events.GestureEvent
flash.events.PressAndTapGestureEvent
flash.events.TransformGestureEvent
例 ( この例の使用方法 )
Multitouch.supportedGestures
ベクター配列コンテンツは、Flash ランタイムの現在のソフトウェア環境およびハードウェア環境で使用可能なすべてのジェスチャを含めるように変更されます。Multitouch.supportedGestures
ベクター配列にいずれかの TransformGestureEvent ジェスチャが含まれていない場合、そのジェスチャのためのイベントリスナーは追加されません。この例は、Holly Schinsky 氏の提供によるものです。
Multitouch.inputMode = MultitouchInputMode.GESTURE; for each (var item:String in Multitouch.supportedGestures) { trace("gesture " + item); if (item == TransformGestureEvent.GESTURE_PAN) img.addEventListener(TransformGestureEvent.GESTURE_PAN, onPan); else if (item == TransformGestureEvent.GESTURE_ROTATE) img.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onRotate); else if (item == TransformGestureEvent.GESTURE_SWIPE) img.addEventListener(TransformGestureEvent.GESTURE_SWIPE, onSwipe); else if (item == TransformGestureEvent.GESTURE_ZOOM) img.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom); }
supportsGestureEvents | プロパティ |
supportsGestureEvents:Boolean
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10.1, AIR 2, Flash Lite 4 |
現在の環境が、タッチスクリーンの周囲で 2 本の指を回転するなどのジェスチャ入力をサポートするかどうかを指定します。ジェスチャイベントは、TransformGestureEvent クラス、PressAndTapGestureEvent クラスおよび GestureEvent クラスにリストされます。
注意:Mac OS 10.5.3 以降では、この値は常に true
です。Multitouch.supportsGestureEvent
は、ハードウェアがジェスチャイベントをサポートしていない場合でも true
を返します。
実装
public static function get supportsGestureEvents():Boolean
関連する API エレメント
supportsTouchEvents | プロパティ |
Multitouch.supportedGestures
から null
が返されます。ストリングのベクトルに null
を割り当てると、ランタイムエラーになります)。ジェスチャイベントがサポートされる場合、例では現在の環境でサポートされている TransformGestureEvent クラスからのイベントが表示されます。
package { import flash.ui.Multitouch; import flash.ui.MultitouchInputMode; import flash.display.Sprite; import flash.text.TextField; public class MultitouchExample extends Sprite { Multitouch.inputMode = MultitouchInputMode.GESTURE; public function MultitouchExample() { if(Multitouch.supportsGestureEvents){ var supportedGesturesVar:Vector.<String> = Multitouch.supportedGestures; var deviceSupports:TextField = new TextField(); deviceSupports.width = 200; deviceSupports.height = 200; deviceSupports.wordWrap = true; for (var i:int=0; i<supportedGesturesVar.length; ++i) { deviceSupports.appendText(supportedGesturesVar[i] + ", "); addChild(deviceSupports); } } } } }
Tue Jun 12 2018, 10:34 AM Z