Paket | flash.sensors |
Sınıf | public class Accelerometer |
Miras Alma | Accelerometer EventDispatcher Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Not: Çalışma zamanı ortamını bu özelliği kullanabilme yetisi açısından test etmek için, Accelerometer.isSupported
özelliğini kullanın. Accelerometer sınıfı ve üyeleri API girişlerinin her biri için listelenen Çalışma Zamanı Sürümleri tarafından erişilebilirken, çalışma zamanın geçerli ortamı bu özelliğin kullanılabilirliğini belirler. Örneğin, Flash Player 10.1 için Accelerometer sınıfının özelliklerini kullanarak kod derleyebilirsiniz ancak Flash Player çalışma zamanının geçerli konuşlandırma ortamındaki Accelerometer özelliğinin kullanılabilirliğini test etmek için Accelerometer.isSupported
özelliğini kullanmanız gerekir. Accelerometer.isSupported
çalışma zamanında true
ise, Accelerometer desteği o sırada mevcut demektir.
AIR profili desteği: Bu özellik yalnızca mobil aygıtlarda desteklenir. Masaüstü işletim sistemlerinde veya AIR for TV aygıtlarında desteklenmez. Birden fazla profilde API desteği ile ilgili daha fazla bilgi için bkz. AIR Profil Desteği.
Daha fazla bilgi
Michael Chaize: Become an AIR Pilot (AIR Pilotu Olma)
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
isSupported : Boolean [statik] [salt okunur]
isSupported özelliği, aygıttaki akselerometre alıcısı kullanılabilir ise true değerine, yoksa false değerine ayarlanır. | Accelerometer | ||
muted : Boolean [salt okunur]
Kullanıcının akselerometrenin (true) erişimine izin verip vermediğini (false) belirtir. | Accelerometer |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Yeni bir Accelerometer örneği oluşturur. | Accelerometer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. | EventDispatcher | ||
Olay akışına bir olay gönderir. | EventDispatcher | ||
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder. | EventDispatcher | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. | EventDispatcher | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
setRequestedUpdateInterval yöntemi, güncellemelerin istenen zaman aralığını ayarlamak için kullanılır. | Accelerometer | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object | ||
Bir olay dinleyicisinin bu EventDispatcher nesnesiyle mi, yoksa onun belirtilen olay türüne yönelik üst öğelerinden biriyle mi kayıtlı olduğunu kontrol eder. | EventDispatcher |
Olay | Özet | Tanımlayan: | ||
---|---|---|---|---|
[broadcast olayı] Flash Player veya AIR uygulaması işletim sistemi odağına gelip etkin olduğunda gönderilir. | EventDispatcher | |||
[broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir. | EventDispatcher | |||
Bir ivmeölçer durumunu değiştirdiğinde gönderilir. | Accelerometer | |||
Güncelleme olayı, akselerometre alıcısının güncellemelerine yanıt olarak gönderilir. | Accelerometer |
isSupported | özellik |
isSupported:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2, Flash Player 10.1, Flash Lite 4 |
isSupported
özelliği, aygıttaki akselerometre alıcısı kullanılabilir ise true
değerine, yoksa false
değerine ayarlanır.
Uygulama
public static function get isSupported():Boolean
Örnek ( Bu örnek nasıl kullanılır? )
Accelerometer.isSupported
özelliğini kullanır. Geçerli ortam Akselerometre özelliğini destekliyorsa, Akselerometre nesnesine bir olay dinleyicisi eklenir ve ilişkili işleyici metin alanını zaman damgası ve ivme değerleriyle doldurur. Yoksa, metin alanı özelliğin geçerli ortamda desteklenmediğini belirtir.
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 | özellik |
muted:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2, Flash Player 10.1 |
Kullanıcının akselerometrenin (true
) erişimine izin verip vermediğini (false
) belirtir. Bu değer değiştiğinde, bir status
olayı gönderilir.
Uygulama
public function get muted():Boolean
İlgili API Öğeleri
Accelerometer | () | Yapıcı |
public function Accelerometer()
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Yeni bir Accelerometer örneği oluşturur.
setRequestedUpdateInterval | () | yöntem |
public function setRequestedUpdateInterval(interval:Number):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2, Flash Player 10.1, Flash Lite 4 |
setRequestedUpdateInterval
yöntemi, güncellemelerin istenen zaman aralığını ayarlamak için kullanılır. Zaman aralığı milisaniye cinsinden ölçülür. Güncelleme aralığı yalnızca pil gücünü korumak için bir ipucu olarak kullanılır. İvme güncellemeleri arasındaki asıl süre bu değerden daha büyük veya daha az olabilir. Güncelleme aralığındaki herhangi bir değişiklik tüm kayıtlı dinleyicileri etkiler. Accelerometer sınıfını setRequestedUpdateInterval()
yöntemini kullanmadan kullanabilirsiniz. Bu durumda uygulama, güncellemeleri aygıtın varsayılan aralığına dayanarak alır.
Parametreler
interval:Number — İstenen güncelleme aralığı. interval değeri 0 olarak ayarlanırsa, desteklenen minimum güncelleme aralığı kullanılır.
|
Atar
ArgumentError — Belirtilen aralık sıfırdan azdır.
|
status | Olay |
flash.events.StatusEvent
özellik StatusEvent.type =
flash.events.StatusEvent.STATUS
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Bir ivmeölçer durumunu değiştirdiğinde gönderilir.
Not: Bazı aygıtlarda ivmeölçer her zaman kullanılabilir durumdadır. Bu tür aygıtlarda, bir Accelerometer nesnesi asla status
olayı göndermez.
status
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
code | Nesne durumunun bir açıklaması. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
düzey | Mesajın kategorisi; örneğin, "status" , "warning" veya "error" . |
target | Durumunu bildiren nesne. |
update | Olay |
flash.events.AccelerometerEvent
özellik AccelerometerEvent.type =
flash.events.AccelerometerEvent.UPDATE
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Güncelleme
olayı, akselerometre alıcısının güncellemelerine yanıt olarak gönderilir. Olay aşağıdaki durumlarda gönderilir:
addEventListener()
öğesi üzerinden yeni bir dinleyici işlevi eklendiğinde, bu olay akselerometrenin geçerli değerinin sağlanması için bir seferde tüm kayıtlı dinleyicilere gönderilir.- Akselerometre güncellemeleri platformdan aygıt tarafından belirlenen aralıklarla her alındığında.
- Uygulama akselerometredeki bir değişikliği her kaçırdığında (örneğin, çalışma zamanı boşta kaldıktan sonra çalışmaya devam ediyor).
AccelerometerEvent
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
timeStamp | Akselerometre güncelleştirmesinin zaman damgası. |
accelerationX | X ekseni boyunca Gs cinsinden ivme değeri (9.8m/sn/sn). |
accelerationY | Y ekseni boyunca Gs cinsinden ivme değeri (9.8m/sn/sn). |
accelerationZ | Z ekseni boyunca Gs cinsinden ivme değeri (9.8m/sn/sn). |
update
olaylarını temel alarak bir Sprite öğesini hareket ettirir. Akselerometre update
olayları aygıt hareketini belirtir.
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, 01:09 PM Z