패키지 | 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 클래스를 사용하여 현재 환경이 터치 상호 작용을 지원하는지 확인하고 지원하는 경우 터치 상호 작용 지원을 관리합니다.
Multitouch 객체는 ActionScript 코드에서 직접 만들 수 없습니다. new Multitouch()
를 호출하면 예외가 발생합니다.
참고: Mac OS에서 실행되는 HTML에 포함된 SWF 파일에서는 다중 터치 기능이 지원되지 않습니다.
추가 정보
Christian Cantrell: Flash 플랫폼에서의 멀티터치 및 동작 지원
Lee Brimelow: Flash Player 10.1 멀티-터치 FAQ
Piotr Walczyszyn: 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 [정적] [읽기 전용]
현재 환경이 터치 스크린에서 손가락 두 개를 회전하는 등의 동작 입력을 지원하는지 여부를 나타냅니다. | Multitouch | ||
supportsTouchEvents : Boolean [정적] [읽기 전용]
현재 환경이 손가락 한 개로 누르는 등의 기본적인 터치 입력을 지원하는지 여부를 나타냅니다. | Multitouch |
inputMode | 속성 |
inputMode:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2, Flash Lite 4 |
터치 및 동작 이벤트 처리를 위해 다중 터치 모드를 식별합니다. 이 속성을 사용하여 이벤트가 접점이 여러 개인 터치 이벤트나 동작(예: 회전 및 이동)에 따른 특정 이벤트로 전달되는지, 단일 접점(예: 누르기)으로만 전달되는지, 전혀 전달되지 않는지(접촉이 마우스 이벤트로 처리됨) 여부를 관리합니다. 이 속성을 설정하려면 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
입니다.
참고: Mac OS 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 |
현재 환경이 터치 스크린에서 손가락 두 개를 회전하는 등의 동작 입력을 지원하는지 여부를 나타냅니다. Gesture 이벤트는 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, 03:17 PM Z