Paket | flash.ui |
Sınıf | public final class GameInputDevice |
Miras Alma | GameInputDevice Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 3.7 |
GameInputDevice
sınıfı, genel olarak oyun oynamak için kullanılan tek bir girdi aygıtını temsil eder.
Bu sınıf, aşağıdakileri gerçekleştirmek için kullanabileceğiniz yöntemleri ve özellikleri içerir:
-
Bir girdi aygıtını etkinleştirir veya devre dışı bırakır. Aygıtlar başlangıçta varsayılan olarak devre dışıdır (
enabled
öğesifalse
olarak ayarlanmıştır). Aygıttan kontrol değerleri almadan önceenabled
öğesinitrue
olarak ayarlamak yoluyla aygıtı açıkça etkinleştirmeniz gerekir. -
Bir girdi aygıtının adı ve kimliğini almak.
name
ileid
özellikleri birlikte bir aygıtı benzersiz şekilde tanımlar. Android aygıtları için bu değerler aygıt üreticisi tarafından sağlanır. İOS aygıtları için aygıta bağlandığınız her durumdaid
değeri değişebilir. -
Bir girdi aygıtındaki denetimleri numaralandırmak. Bir aygıttaki fiziksel denetimler mantıksal
GameInputControl
nesnelerine eşlenir ve bir listede kaydedilir. Listedeki bir denetimegetControlAt()
yöntemiyle erişebilirsiniz. -
Örneklenen denetim değerlerinin önbelleğe alınmasını yönetmek. Bir grup denetim değerini doğrudan bir aygıt nesnesinden örneklemek, denetim değerlerini almanın üç yolundan birisidir. (Diğer iki yol
GameInputControl
sınıfındavalue
yöntemini kullanır ve burada açıklanmıştır.) Örnekleri önbelleğe almak, denetim değerlerine bir uygulamanın kare hızından daha yüksek hızda erişim sağlamanız gerektiğinde faydalıdır.
GameInputEvent.DEVICE_REMOVED
olayı için bu sınıfta her zaman bir dinleyici ayarlayın. Dinleyici, aygıtın beklenmedik bir şekilde bağlantısının kesilmesi veya kapanması durumunu yönetmenize olanak sağlar. Bir aygıtın bağlantısı kesildiğinde, aygıtın GameInputDevice
nesnesini serbest bırakın. Nesne, ilişkili olduğu aygıtın bağlantısı kesildiğinde geçerliliğini kaybeder.
Kaldırılıp yeniden bağlanan bir Android aygıt, ilk kez bağlantı kurulduğunda kullanılan kimliği korur. Bir aygıtın kimliğini eşleştirerek o aygıta mantıksal olarak yeniden bağlanabilirsiniz. İOS aygıtları için aygıta yeniden bağlandığınızda kimlik değişebilir.
Not: Listedeki aygıtların sırasına güvenemezsiniz. (Aygıtlar eklendiğinde ve kaldırıldığında sıra değişebilir.)
Daha fazla bilgi için şu Adobe Air Geliştirici Merkezi makalesine bakın: Adobe AIR'de oyun denetleyicileri.
Android'de bu özellik en az Android OS sürüm 4.1'i destekler ve en az SWF sürüm 20 ve ad alanı 3.7 gerektirir. iOS'ta bu özellik en az iOS sürüm 9.0'ı destekler ve en az SWF sürüm 34 ve ad alanı 23.0 gerektirir.
İ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 | ||
enabled : Boolean
Bu aygıtı etkinleştirir veya devre dışı bırakır. | GameInputDevice | ||
id : String [salt okunur]
Bu aygıtın kimliğini döndürür. | GameInputDevice | ||
name : String [salt okunur]
Bu aygıtın adını döndürür. | GameInputDevice | ||
numControls : int [salt okunur]
Bu aygıttaki denetimlerin sayısını döndürür. | GameInputDevice | ||
sampleInterval : int
Denetim değerlerinin alınacağı hızı belirtir (milisaniye cinsinden). | GameInputDevice |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Önbelleğe alınan örnek değerleri ByteArray dizisine yazar. | GameInputDevice | ||
Bir aygıttan belirli bir denetimi alır. | GameInputDevice | ||
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 | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Bu aygıtın, örneklenen değerlerin önbelleğini tutmaya başlamasını ister. | GameInputDevice | ||
Değerlerin önbelleğe alınmasını durdurur. | GameInputDevice | ||
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 |
Sabit | Tanımlayan: | ||
---|---|---|---|
MAX_BUFFER_SIZE : int = 32000 [statik]
Örneklenen denetim değerlerini önbelleğe almak üzere kullanılan arabellek için maksimum boyutu belirtir. | GameInputDevice |
enabled | özellik |
enabled:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 3.7 |
Bu aygıtı etkinleştirir veya devre dışı bırakır. Aygıtlar varsayılan olarak devre dışıdır. Aygıta erişmek veya aygıtın denetim değerlerini örneklemek için bir aygıtı etkinleştirir. Ayrıca, bir aygıt ve onun ayrı denetimleri yalnızca aygıt etkinleştirildiğinde olayları gönderir.
Bir aygıt kaldırıldığında devre dışı kalır. Devre dışı bırakılmış bir aygıta ilişkin bilgileri almaya devam edebilirsiniz,ancak denetim değerlerine erişemez veya önbelleğe almayı başlatamazsınız. Ayrıca, aygıt kaldırılmışsa onu etkinleştiremezsiniz. Bir aygıt kaldırıldığında enabled
her zaman false
değerini döndürür.
Uygulama
public function get enabled():Boolean
public function set enabled(value:Boolean):void
id | özellik |
id:String
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 3.7 |
Bu aygıtın kimliğini döndürür. Aygıtları kimliklerinden ayırt edebilirsiniz.
Not: Android aygıtları için aygıt kimliği aygıt üreticisi tarafından sağlanır. İOS aygıtları için aygıta yeniden bağlandığınızda kimlik değişebilir.
Uygulama
public function get id():String
name | özellik |
numControls | özellik |
sampleInterval | özellik |
sampleInterval:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 3.7 |
Denetim değerlerinin alınacağı hızı belirtir (milisaniye cinsinden). Varsayılan 0'dır; yani değerler kare başına bir kez güncellenir. Daha yüksek bir sampleValue
ayarlamak, GameInput öğesini kontrol değerlerini uygulamanın kare hızından daha yüksek bir hızda örneklemeye yönlendirir.
Değerler kare başına bir seferden daha sık güncellenebilse de, denetim başına yalnızca bir olay gönderilir. Bu nedenle, tek bir karede bir değere iki güncelleme yapılırsa yalnızca bir change olayı gönderilir ve yalnızca en yeni değer alınabilir.
En yeni değerden daha fazlasını almak için, bu sınıftaki önbellek yöntemlerini kullanarak örneklenen değerleri önbelleğe alabilirsiniz. Örneklenen değerleri önbelleğe aldığınızda, bu özellik değerlerin hangi sıklıkta önbelleğe yazıldığını belirler.
Varsayılan değer şudur 0.
Uygulama
public function get sampleInterval():int
public function set sampleInterval(value:int):void
Atar
IOError — Bu özelliği ayarlarken aygıt devre dışı bırakıldığında.
| |
RangeError — sampleInterval 0'dan az olduğunda.
|
getCachedSamples | () | yöntem |
public function getCachedSamples(data:ByteArray, append:Boolean = false):int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 3.7 |
Önbelleğe alınan örnek değerleri ByteArray
dizisine yazar. Önbelleğe alınan örnek değerler, alındıkları sıraya göre ByteArray
dizisine yazılırlar (en eski değerler en önce, en yeni değerler en sonra).
Bu yöntem, ByteArray
dizisine yazılan önbelleğe alınmış örnek değerlerin sayısını döndürür (değerlerin kendilerini değil). append
parametresi false
ise (varsayılan), o zaman örnek değerler önbellekten yazılmadan önce ByteArray
temizlenir. append
parametresi true ise, o zaman örnek değerler ByteArray
dizisine eklenir ve daha eski değerler korunur. Örnek değerleri aşağıdaki durumlarda ekleyin:
- Belirli bir sayıdaki değeri kullanılabilir durumda bulundurmanız gerekiyorsa.
- Önbellekten daha büyük bir geçmiş bulundurmanız gerekiyorsa.
append
parametresi true
ise, ByteArray
dizisini temizlemek uygulamanın sorumluluğundadır. ByteArray
temizlenmezse büyümeye devam eder ve uygulamanın çökmesine neden olabilir.
Örnek değerler ByteArray
dizisine yazıldıktan sonra önbellek temizlenir.
Bu yöntem çağrıldığında aygıt devre dışı bırakılırsa IOError
atılır
Parametreler
data:ByteArray — Alınan verileri bulunduran ByteArray öğesi. Çift olarak yazılan örnek değerlerle doludur. Denetim konumunda hiçbir değişiklik algılanmaması durumunda ByteArray, denetim değerini NaN olarak tutar.
| |
append:Boolean (default = false ) — Verilerin ByteArray dizisine nasıl yazıldığını belirleyen bir bayrak. true ise, örneklenen değerler dizinin sonuna yazılır. false ise, ByteArray öğesinin içeriği kaldırılır, ardından veriler diziye yazılır. Varsayılan değer·false şeklindedir.
|
int — ByteArray dizisine yazılan örneklerin sayısı (değerlerin değil).
|
Atar
ArgumentError — data öğesi null olduğunda.
| |
IOError — Bu yöntem çağrıldığında ve aygıt devre dışı bırakıldığında.
|
getControlAt | () | yöntem |
public function getControlAt(i:int):GameInputControl
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 3.7 |
Bir aygıttan belirli bir denetimi alır.
GameInputDevice, bir listedeki aygıtın kontrollerini depolar. getControlAt()
yöntemini kullanarak bir aygıttaki denetimlere ayrı ayrı erişebilirsiniz.
Bir aygıt eklendiğinde veya kaldırıldığında dizindeki denetim sırası değişebilir. Belirli bir denetimi eşleştirmek için bir GameInputControl
nesnesindeki id
özelliğini işaretleyebilirsiniz.
Bir aygıt etkinleştirilmemişse bile denetimleri alabilirsiniz. Ancak, devre dışı bırakılmış bir aygıttan denetim değerlerini okuyamazsınız. Bu özellik, bir denetimin özelliklerini o denetimin ait olduğu aygıtı etkinleştirmeden okumanıza olanak sağlar. Bu yeteneği, bir aygıtı etkinleştirmeden önce o aygıtın uygulamanız için uygun olup olmadığını belirlemek için kullanabilirsiniz.
Parametreler
i:int — GameInputControls listesindeki GameInputControl öğesinin dizin konumu.
|
GameInputControl — Belirtilen dizin konumundaki GameInputControl nesnesi.
|
Atar
RangeError — Dizin sıfırdan küçük veya (numControls - 1) değerinden büyük olduğunda.
|
startCachingSamples | () | yöntem |
public function startCachingSamples(numSamples:int, controls:Vector.<String>):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 3.7 |
Bu aygıtın, örneklenen değerlerin önbelleğini tutmaya başlamasını ister. sampleInterval
özelliği, örnekleme sıklığını belirler. numSamples
parametresi, önbelleğe alınacak örneklerin sayısını belirtir. controls
parametresi, örneklenecek denetimlerin kimlik değerlerini belirtir.
Denetim değerleri belirtilen sırayla önbelleğe alınır. Örneklenen değerleri getCachingSamples()
yöntemini kullanarak alırsınız.
Örneklenen değerleri önbelleğe almak için gereken bellek MAX_BUFFER_SIZE
sabitinde belirtilen değerden daha büyükse, bu yöntem bir MemoryError
atar. Bu yöntem çağrılmadan önce aygıt etkinleştirilmemişse bir IOError
atılır.
Parametreler
numSamples:int — Önbellekte depolanacak örneklerin sayısı. Örnekleri alırken her zaman numSamples değerinden daha az veya bu değere eşit sayıda alırsınız.
| |
controls:Vector.<String> — String öğesinin bir vektörü. Her String öğesi, bir denetimin kimliğidir. Örnekler, bu vektörün sağladığı sırada yazılır.
|
Atar
RangeError — numSamples değeri sıfırdan küçük veya sıfıra eşit olduğunda ya da controls öğesindeki bir giriş sıfırdan küçük veya (numControls - 1) değerinden büyük olduğunda.
| |
ArgumentError — Denetimler null olduğunda veya en az bir girdi içermediğinde ya da geçersiz girdiler içerdiğinde.
| |
IOError — Bu yöntem, devre dışı bırakılmış bir aygıtta çağrıldığında.
| |
MemoryError — Önbellek boyutu (number of values * samples) MAX_BUFFER_SIZE öğesinden daha büyük olduğunda.
|
stopCachingSamples | () | yöntem |
public function stopCachingSamples():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 3.7 |
Değerlerin önbelleğe alınmasını durdurur. Denetimlerde change olayları gönderilmeye devam etse de, önbellekte başka örnekler kaydedilmez. Değerler sampleInterval
tarafından belirtilen sıklıkta alınmaya devam edilir, ancak bu değerler önbellekte depolanmaz. Bu nedenle, yalnızca en son değeri alabilirsiniz.
Atar
IOError — Öncelikle aygıtı etkinleştirmeden bu yöntemi çağırdığınızda.
|
MAX_BUFFER_SIZE | Sabit |
public static const MAX_BUFFER_SIZE:int = 32000
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 3.7 |
Örneklenen denetim değerlerini önbelleğe almak üzere kullanılan arabellek için maksimum boyutu belirtir. startCachingSamples
sizin belirttiğinizden daha fazla bellek gerektiren örnekler döndürürse, bir bellek hatası atar.
Tue Jun 12 2018, 01:09 PM Z