터치 입력의 기초

Flash Player 10.1 이상, Adobe AIR 2 이상

Flash 플랫폼이 터치 입력을 지원하는 환경에서 실행되는 경우 InteractiveObject 인스턴스가 터치 이벤트 및 호출 핸들러를 수신할 수 있습니다. 일반적으로 터치, 다중 터치 및 동작은 ActionScript의 다른 이벤트와 마찬가지로 처리합니다. ActionScript를 사용한 이벤트 처리에 대한 기본적인 정보는 이벤트 처리를 참조하십시오.

그러나 Flash 런타임에서 터치 또는 동작을 해석하려면 터치 또는 다중 터치 입력을 지원하는 하드웨어 및 소프트웨어 환경에서 런타임을 실행해야 합니다. 서로 다른 터치 스크린 유형을 비교한 차트는 입력 유형 확인을 참조하십시오. 또한 런타임이 컨테이너 응용 프로그램(예: 브라우저) 내에서 실행되는 경우 해당 컨테이너에서 런타임에 입력을 전달합니다. 경우에 따라서는 현재 하드웨어 및 운영 체제 환경에서 다중 터치를 지원하지만 Flash 런타임을 포함하는 브라우저에서 입력을 해석한 후 런타임에 전달하지 않을 수 있습니다. 또한 해당 브라우저에서 입력을 완전히 무시할 수도 있습니다.

다음 다이어그램에서는 사용자에게서 런타임으로의 입력 흐름을 보여 줍니다.

전체 화면으로 그래픽 보기
사용자에게서 Flash 플랫폼 런타임으로의 입력 흐름

터치 응용 프로그램 개발용 ActionScript API에는 런타임 환경에서 터치 또는 다중 터치 입력이 지원되는지 확인할 수 있도록 하는 클래스, 메서드 및 속성이 포함되어 있습니다. 터치 입력 지원을 확인하기 위해 사용하는 API는 터치 이벤트 처리에 대한 "확인 API"입니다.

중요한 개념 및 용어

다음 참조 목록에서는 터치 이벤트 처리 응용 프로그램을 작성하는 데 있어 중요한 용어를 설명합니다.

확인 API
런타임 환경에서 터치 이벤트 및 다양한 입력 모드가 지원되는지 테스트하기 위한 메서드 및 속성입니다.

터치 이벤트
단일 접점을 사용하여 터치 지원 장치에서 수행된 입력 액션입니다.

터치 지점
단일 터치 이벤트에 대한 접점입니다. 장치에서 동작 입력을 지원하지 않는 경우에도 여러 동시 터치 지점을 지원할 수 있습니다.

터치 시퀀스
단일 터치 수명을 나타내는 일련의 이벤트입니다. 이러한 이벤트에는 1개의 시작, 0개 이상의 움직임 및 1개의 종료가 포함됩니다.

다중 터치 이벤트
여러 접점(예: 손가락 두 개 이상)을 사용하여 터치 지원 장치에서 수행된 입력 액션입니다.

동작 이벤트
터치 지원 장치에서 일부 복잡한 움직임을 추적하며 수행된 입력 액션입니다. 예를 들어 손가락 두 개로 화면을 터치하면서 가상 원의 둘레를 동시에 움직여 회전을 나타내는 동작이 있을 수 있습니다.

단계
이벤트 흐름에서 고유한 시점(예: 시작 및 종료)입니다.

스타일러스
터치 스크린과 상호 작용하는 도구입니다. 스타일러스는 사람의 손가락보다 더 정밀하게 입력할 수 있습니다. 일부 장치는 특정 유형 스타일러스의 입력만 인식합니다. 스타일러스 입력을 인식하는 장치는 여러 동시 접점 또는 손가락 접점을 인식하지 못할 수 있습니다.

누르고 두드리기
사용자가 터치 지원 장치를 한 손가락으로 누르면서 다른 손가락 또는 포인팅 장치로 두드리는 특정 유형의 다중 입력 동작입니다. 이 동작은 다중 터치 응용 프로그램에서 마우스 오른쪽 클릭을 시뮬레이션하는 데 종종 사용됩니다.

터치 입력 API 구조

ActionScript 터치 입력 API는 터치 입력 처리가 Flash 런타임의 하드웨어 및 소프트웨어 환경에 의존하는 문제를 해결하기 위해 사용됩니다. 터치 입력 API는 주로 터치 응용 프로그램 개발의 세 가지 요구 사항인 확인, 이벤트, 단계를 다룹니다. 이러한 API를 적절히 사용하면 응용 프로그램 개발 시 대상 장치를 알지 못하더라도 사용자에게 예측 가능하고 응답성이 뛰어난 환경을 제공할 수 있습니다.

확인

확인 API는 런타임에서 하드웨어 및 소프트웨어 환경을 테스트할 수 있는 기능을 제공합니다. 런타임에 채워지는 값을 통해 현재 컨텍스트에서 Flash 런타임에 사용 가능한 터치 입력을 확인할 수 있습니다. 또한 확인 속성 및 메서드 컬렉션을 사용하여, 일부 터치 입력이 해당 환경에서 지원되지 않는 경우 응용 프로그램에서 터치 이벤트가 아닌 마우스 이벤트에 응답하도록 설정할 수 있습니다. 자세한 내용은 터치 지원 확인을 참조하십시오.

이벤트

ActionScript는 다른 이벤트와 마찬가지로 이벤트 리스너와 이벤트 핸들러로 터치 입력 이벤트를 관리합니다. 그러나 터치 입력 이벤트 처리의 경우 다음 사항도 고려해야 합니다.
  • 터치는 장치 및 운영 체제에 따라 터치 시퀀스 또는 동작으로 달리 해석될 수 있습니다.

  • 터치 지원 장치(손가락, 스타일러스 또는 포인팅 장치)에 대한 단일 터치는 항상 마우스 이벤트도 전달합니다. 마우스 이벤트는 MouseEvent 클래스의 이벤트 유형으로 처리할 수 있습니다. 또는 응용 프로그램이 터치 이벤트에만 응답하도록 설계하거나 두 가지 이벤트에 모두 응답하도록 설계할 수 있습니다.

  • 응용 프로그램은 여러 동시 터치 이벤트에 응답하고 서로 별도로 처리할 수 있습니다.

일반적으로 확인 API는 응용 프로그램에서 처리하는 이벤트 및 처리 방식을 조건적으로 처리하는 데 사용합니다. 응용 프로그램에서 런타임 환경을 인식하면 사용자가 응용 프로그램과 상호 작용할 때 적절한 핸들러를 호출하거나 정확한 이벤트 객체를 설정할 수 있습니다. 또는 현재 환경에서 특정 입력을 처리할 수 없다는 점을 나타내고 사용자에게 대체 방법 또는 정보를 제공할 수 있습니다. 자세한 내용은 터치 이벤트 처리동작 이벤트 처리를 참조하십시오.

단계

터치 이벤트 객체는 터치 및 다중 터치 응용 프로그램에 대해 사용자 상호 작용 단계를 추적하는 속성을 가지고 있습니다. 사용자 입력의 시작, 업데이트 또는 종료 단계와 같은 단계를 처리하도록 ActionScript를 작성하여 사용자에게 피드백을 제공할 수 있습니다. 사용자가 화면에서 터치 지점을 터치하고 움직일 때 이벤트 단계에 응답하여 시각적 객체가 변하게 할 수 있습니다. 또는 동작 변화에 따라 동작의 특정 속성을 추적하는 단계를 사용할 수 있습니다.

터치 지점 이벤트의 경우 사용자가 특정 대화형 객체에 머물러 있는 시간을 추적할 수 있습니다. 응용 프로그램은 여러 동시 터치 지점의 단계를 개별적으로 추적하고 각각 별도로 처리할 수 있습니다.

동작의 경우 동작이 발생할 때 동작 변형에 대한 특정 정보를 해석할 수 있습니다. 접점이 화면에서 움직일 때 접점의 좌표를 추적할 수 있습니다.