| 패키지 | flash.sensors |
| 클래스 | public class Accelerometer |
| 상속 | Accelerometer EventDispatcher Object |
| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 2, Flash Player 10.1, Flash Lite 4 |
참고:
Accelerometer.isSupported 속성을 사용하여 런타임 환경이 이 기능을 사용할 수 있는지 테스트합니다. Accelerometer 클래스와 그 멤버는 API 항목별로 나열된 런타임 버전에 액세스할 수 있는 반면, 런타임의 현재 환경은 이 기능의 사용 가능 여부를 결정합니다. 예를 들어 Flash Player 10.1의 경우 Accelerometer 클래스 속성을 사용하여 코드를 컴파일할 수 있지만 Accelerometer.isSupported 속성을 사용하여 Flash Player 런타임의 현재 구축 환경에서 Accelerometer 기능을 사용할 수 있는지를 테스트해야 합니다. Accelerometer.isSupported가 런타임에 true인 경우 Accelerometer가 현재 지원되는 것입니다.
AIR 프로파일 지원: 이 기능은 휴대 장치에서만 지원됩니다. 데스크톱 또는 AIR for TV 장치에서는 지원되지 않습니다. 여러 프로파일 간 API 지원에 대한 자세한 내용은 AIR 프로파일 지원을 참조하십시오.
추가 정보
관련 API 요소
| 속성 | 정의 주체 | ||
|---|---|---|---|
![]() | constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | |
| isSupported : Boolean [정적] [읽기 전용]
장치에서 가속도계 센서를 사용할 수 있으면 isSupported 속성이 true로 설정되고, 그렇지 않으면 false로 설정됩니다. | Accelerometer | ||
| muted : Boolean [읽기 전용]
사용자가 가속도계에 대한 액세스를 거부했는지(true) 아니면 허용했는지(false)를 나타냅니다. | Accelerometer | ||
| 메서드 | 정의 주체 | ||
|---|---|---|---|
새 Accelerometer 인스턴스를 만듭니다. | Accelerometer | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | |
![]() |
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | |
![]() |
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | |
![]() |
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | |
![]() |
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | |
![]() |
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | |
![]() |
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | |
![]() |
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | |
setRequestedUpdateInterval 메서드는 원하는 업데이트 시간 간격을 설정하는 데 사용됩니다. | Accelerometer | ||
![]() |
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | |
![]() |
지정된 객체의 문자열 표현을 반환합니다. | Object | |
![]() |
지정된 객체의 프리미티브 값을 반환합니다. | Object | |
![]() |
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | |
| 이벤트 | 요약 | 정의 주체 | ||
|---|---|---|---|---|
![]() | [브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다. | EventDispatcher | ||
![]() | [브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다. | EventDispatcher | ||
| 가속도계의 상태가 변경될 때 전달됩니다. | Accelerometer | |||
| 가속도계 센서의 업데이트에 대한 응답으로 update 이벤트가 전달됩니다. | Accelerometer | |||
isSupported | 속성 |
isSupported:Boolean [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 2, Flash Player 10.1, Flash Lite 4 |
장치에서 가속도계 센서를 사용할 수 있으면 isSupported 속성이 true로 설정되고, 그렇지 않으면 false로 설정됩니다.
구현
public static function get isSupported():Boolean예제 ( 예제 사용 방법 )
Accelerometer.isSupported 속성을 사용하여 런타임에 Accelerometer 지원 여부를 테스트합니다. 현재 환경이 Accelerometer 기능을 지원하면 이벤트 리스너가 Accelerometer 객체에 추가되고 연결된 핸들러가 타임스탬프 및 가속도 값으로 텍스트 필드를 채웁니다. 그렇지 않을 경우 텍스트 필드는 기능이 현재 환경에서 지원되지 않는다는 것을 나타냅니다.
var myTextField:TextField = new TextField();
myTextField.width = 200;
addChild(myTextField);
var acc1:Accelerometer = new Accelerometer();
var isSupported:Boolean = Accelerometer.isSupported;
checksupport();
function checksupport():void {
if (isSupported) {
myTextField.text = "Accelerometer feature supported";
acc1.addEventListener(AccelerometerEvent.UPDATE, updateHandler);
} else {
myTextField.text = "Accelerometer feature not supported";
}
}
function updateHandler(evt:AccelerometerEvent):void {
myTextField.text = String("at: " + evt.timestamp + "\n" + "acceleration X: " + evt.accelerationX + "\n" + "acceleration Y: " + evt.accelerationY + "\n" + "acceleration Z: " + evt.accelerationZ);
}
muted | 속성 |
Accelerometer | () | 생성자 |
public function Accelerometer()| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 2, Flash Player 10.1, Flash Lite 4 |
새 Accelerometer 인스턴스를 만듭니다.
setRequestedUpdateInterval | () | 메서드 |
public function setRequestedUpdateInterval(interval:Number):void| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 2, Flash Player 10.1, Flash Lite 4 |
setRequestedUpdateInterval 메서드는 원하는 업데이트 시간 간격을 설정하는 데 사용됩니다. 시간 간격은 밀리초 단위로 측정됩니다. 업데이트 간격은 배터리 전원을 절약하기 위한 힌트로만 사용됩니다. 가속 업데이트의 실제 시간 간격은 이 값보다 크거나 작을 수 있습니다. 업데이트 간격을 변경하면 등록된 모든 리스너에 영향을 줍니다. setRequestedUpdateInterval() 메서드를 호출하지 않고 Accelerometer 클래스를 사용할 수 있습니다. 이 경우 응용 프로그램은 장치의 기본 간격에 따라 업데이트를 받습니다.
매개 변수
interval:Number — 요청된 업데이트 간격입니다. interval이 0으로 설정되어 있으면 최소 지원 업데이트 간격이 사용됩니다.
|
오류
ArgumentError — 지정한 interval이 영(0)보다 작습니다.
|
status | 이벤트 |
flash.events.StatusEvent속성 StatusEvent.type =
flash.events.StatusEvent.STATUS| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 2, Flash Player 10.1, Flash Lite 4 |
가속도계의 상태가 변경될 때 전달됩니다.
참고: 일부 장치에서는 가속도계를 항상 사용할 수 있습니다. 이러한 장치에서는 Accelerometer 객체가 status 이벤트를 전달하지 않습니다.
status 이벤트 객체의 type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|---|
bubbles | false |
cancelable | false. 취소할 기본 비헤이비어가 없습니다. |
code | 객체의 상태에 대한 설명입니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
level | "status", "warning" 또는 "error" 같은 메시지 범주입니다. |
target | 상태를 보고하는 객체입니다. |
update | 이벤트 |
flash.events.AccelerometerEvent속성 AccelerometerEvent.type =
flash.events.AccelerometerEvent.UPDATE| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 2, Flash Player 10.1, Flash Lite 4 |
가속도계 센서의 업데이트에 대한 응답으로 update 이벤트가 전달됩니다. 이벤트는 다음과 같은 상황에서 전달됩니다.
addEventListener()를 통해 새 리스너 함수가 연결되는 경우 가속도계의 현재 값을 제공하기 위해 모든 등록된 리스너에 이 이벤트가 한 번 전송됩니다.- 장치에 지정된 간격으로 플랫폼에서 가속도계 업데이트를 가져올 때마다 전달됩니다.
- 유휴 상태 후 런타임이 다시 시작되는 경우와 같이 응용 프로그램이 가속도계의 변경 내용을 놓칠 때마다 전달됩니다.
AccelerometerEvent 이벤트 객체의 type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|---|
bubbles | false |
cancelable | false. 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
timestamp | Accelerometer 업데이트의 타임스탬프입니다. |
accelerationX | x축을 기준으로 한 G 가속 값(9.8m/sec/sec)입니다. |
accelerationY | y축을 기준으로 한 G 가속 값(9.8m/sec/sec)입니다. |
accelerationZ | z축을 기준으로 한 G 가속 값(9.8m/sec/sec)입니다. |
update 이벤트를 기반으로 움직입니다. 가속도계 update 이벤트는 장치의 움직임을 나타냅니다.
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.AccelerometerEvent;
import flash.sensors.Accelerometer;
public class AccelerometerTest extends Sprite
{
private var ball:Sprite;
private var accelerometer:Accelerometer;
private var xSpeed:Number = 0;
private var ySpeed:Number = 0;
private const RADIUS = 20;
public final function AccelerometerTest()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
createBall();
if (Accelerometer.isSupported)
{
accelerometer = new Accelerometer();
accelerometer.addEventListener(AccelerometerEvent.UPDATE, accUpdateHandler);
stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
}
private final function createBall():void
{
ball = new Sprite();
ball.graphics.beginFill(0xFF0000);
ball.graphics.drawCircle(0, 0, RADIUS);
ball.cacheAsBitmap = true;
ball.x = stage.stageWidth / 2;
ball.y = stage.stageHeight / 2;
addChild(ball);
}
private final function enterFrameHandler(event:Event):void
{
event.stopPropagation();
moveBall();
}
private final function moveBall():void
{
var newX:Number = ball.x + xSpeed;
var newY:Number = ball.y + ySpeed;
if (newX < 20)
{
ball.x = RADIUS;
xSpeed = 0;
}
else if (newX > stage.stageWidth - RADIUS)
{
ball.x = stage.stageWidth - RADIUS;
xSpeed = 0;
}
else
{
ball.x += xSpeed;
}
if (newY < RADIUS)
{
ball.y = RADIUS;
ySpeed = 0;
}
else if (newY > stage.stageHeight - RADIUS)
{
ball.y = stage.stageHeight - RADIUS;
ySpeed = 0;
}
else
{
ball.y += ySpeed;
}
}
private final function accUpdateHandler(event:AccelerometerEvent):void
{
xSpeed -= event.accelerationX * 2;
ySpeed += event.accelerationY * 2;
}
}
}
Tue Jun 12 2018, 03:17 PM Z
상속되는 공용 속성 숨기기
상속되는 공용 속성 표시