Pakiet | flash.ui |
Klasa | public final class GameInputDevice |
Dziedziczenie | GameInputDevice Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3.7 |
GameInputDevice
reprezentuje jedno urządzenie wejściowe często używane do obsługi gier.
Ta klasa zawiera metody i właściwości, za pomocą których można wykonywać następujące czynności:
-
Włączanie i wyłączanie urządzenia wejściowego. Domyślnie urządzenia są początkowo wyłączone (właściwość
enabled
ma wartośćfalse
). Aby można było uzyskiwać wartości elementów sterujących z urządzenia, należy jawnie włączyć urządzenie, ustawiając właściwośćenabled
na wartośćtrue
. -
Pobieranie nazwy oraz identyfikatora urządzenia wejściowego. Łącznie właściwości
name
orazid
jednoznacznie identyfikują urządzenie. W przypadku urządzeń z systemem Android producent urządzenia podaje te wartości. W przypadku urządzeń z systemem iOS wartośćid
może się zmieniać przy każdym podłączeniu urządzenia. -
Wyszczególnianie elementów sterujących urządzenia wejściowego. Fizyczne elementy sterujące urządzenia są odwzorowywane na obiekty logiczne
GameInputControl
i przechowywane w formie listy. Dostęp do elementu sterującego na liście można uzyskać za pomocą metodygetControlAt()
. -
Zarządzanie buforowaniem próbkowanych wartości elementów sterujących. Próbkowanie zestawu wartości elementów sterujących bezpośrednio z obiektu urządzenia jest jednym z trzech sposobów uzyskiwania wartości elementów sterujących. Pozostałe dwa sposoby obejmują użycie metody
value
w klasieGameInputControl
. Zostały one opisane w jej dokumentacji. Buforowanie próbek jest przydatne, gdy szybkość uzyskiwania dostępu do wartości elementów sterujących musi być większa niż szybkość odtwarzania aplikacji.
Zawsze należy skonfigurować detektor zdarzenia GameInputEvent.DEVICE_REMOVED
tej klasy. Ten detektor umożliwi obsługę nieoczekiwanych odłączeń i wyłączeń urządzenia. Jeśli urządzenie zostanie odłączone, należy zwolnić jego obiekt GameInputDevice
, ponieważ po odłączeniu skojarzonego z nim urządzenia traci on swoją ważność.
Urządzenie z systemem Android, które zostanie usunięte, a następnie ponownie podłączone, zachowuje swój identyfikator przydzielony podczas pierwszego podłączenia. Dopasowując identyfikator urządzenia, można je logicznie ponownie podłączyć. W przypadku urządzeń z systemem iOS identyfikator może się zmienić po ponownym podłączeniu urządzenia.
Uwaga: Nie należy odnosić się do kolejności urządzeń na liście. (Kolejność może ulec zmianie w przypadku dodawania i usuwania urządzeń).
Więcej informacji zawiera artykuł na temat kontrolerów gier w środowisku Adobe AIR dostępny w Adobe Air Developer Center: .
W przypadku systemu Android funkcja ta obsługuje system operacyjny Android w wersji 4.1 lub nowszej i wymaga plików SWF w wersji 20 lub nowszej oraz przestrzeni nazw 3.7. W przypadku systemu iOS funkcja ta obsługuje system iOS w wersji 9.0 lub nowszej i wymaga plików SWF w wersji 34 lub nowszej oraz przestrzeni nazw 23.0.
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
enabled : Boolean
Włącza lub wyłącza to urządzenie. | GameInputDevice | ||
id : String [tylko do odczytu]
Zwraca identyfikator tego urządzenia. | GameInputDevice | ||
name : String [tylko do odczytu]
Zwraca nazwę tego urządzenia. | GameInputDevice | ||
numControls : int [tylko do odczytu]
Zwraca liczbę elementów sterujących tego urządzenia. | GameInputDevice | ||
sampleInterval : int
Określa częstotliwość (w milisekundach) pobierania wartości elementów sterujących. | GameInputDevice |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Zapisuje wartości próbkowania znajdujące się w buforze do obiektu ByteArray. | GameInputDevice | ||
Pobiera z urządzenia określony element sterujący. | GameInputDevice | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zleca danemu urządzeniu przechowywanie wartości próbek w buforze. | GameInputDevice | ||
Powoduje zatrzymanie zapisywania próbek w buforze. | GameInputDevice | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object |
Stała | Zdefiniowane przez | ||
---|---|---|---|
MAX_BUFFER_SIZE : int = 32000 [statyczny]
Określa maksymalny rozmiar bufora używanego do przechowywania próbkowanych wartości elementów sterujących. | GameInputDevice |
enabled | właściwość |
enabled:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3.7 |
Włącza lub wyłącza to urządzenie. Urządzenia są domyślnie wyłączone. Włącza urządzenie w celu uzyskania dostępu do wartości jego elementów sterujących lub przeprowadzenia ich próbkowania. Ponadto urządzenie i jego poszczególne elementy sterujące wywołują zdarzenia tylko wtedy, gdy urządzenie jest włączone.
W przypadku usunięcia urządzenie jest wyłączane. Nadal można pobrać informacje o wyłączonym urządzeniu, ale nie można uzyskać dostępu do jego wartości elementów sterujących ani rozpocząć buforowania. Ponadto nie można włączyć urządzenia, które zostało usunięte. Jeśli urządzenie zostało usunięte, parametr enabled
zawsze zwraca wartość false
.
Implementacja
public function get enabled():Boolean
public function set enabled(value:Boolean):void
id | właściwość |
id:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3.7 |
Zwraca identyfikator tego urządzenia. Urządzenia można rozróżnić według ich identyfikatorów.
Uwaga: w przypadku urządzeń z systemem Android producent urządzenia podaje identyfikatory urządzenia. W przypadku urządzeń z systemem iOS identyfikator może się zmienić po ponownym podłączeniu urządzenia.
Implementacja
public function get id():String
name | właściwość |
numControls | właściwość |
sampleInterval | właściwość |
sampleInterval:int
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3.7 |
Określa częstotliwość (w milisekundach) pobierania wartości elementów sterujących. Wartość domyślna to 0. Powoduje ona, że wartości są aktualizowane raz na klatkę. Ustawienie większej wartości parametru sampleValue
nakazuje obiektowi GameInput próbkowanie wartości elementów sterujących z częstotliwością większą niż szybkość odtwarzania aplikacji.
Wartości mogą być aktualizowane częściej niż raz na klatkę, jednak wywoływane jest tylko jedno zdarzenie na element sterujący. Oznacza to, że jeśli w jednej klatce występują dwie aktualizacje wartości, wywoływane jest tylko jedno zdarzenie zmiany i można pobrać tylko najnowszą wartość.
Aby pobrać więcej niż tylko najnowsze wartości, można buforować wartości próbkowania przy użyciu metod buforowania w tej klasie. W przypadku buforowania wartości próbkowania ta właściwość określa, jak często wartości mają być zapisywane w buforze.
Wartością domyślną jest 0.
Implementacja
public function get sampleInterval():int
public function set sampleInterval(value:int):void
Zgłasza
IOError — Gdy urządzenie jest wyłączone podczas ustawiania tej właściwości.
| |
RangeError — Gdy wartość parametru sampleInterval jest mniejsza niż 0.
|
getCachedSamples | () | metoda |
public function getCachedSamples(data:ByteArray, append:Boolean = false):int
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3.7 |
Zapisuje wartości próbkowania znajdujące się w buforze do obiektu ByteArray
. Wartości próbkowania znajdujące się w buforze są zapisywane do obiektu ByteArray
w kolejności, w jakiej zostały pobrane (na początku wartości najstarsze, na końcu wartości najnowsze).
Ta metoda zwraca liczbę wartości próbkowania znajdujących się w buforze, które zostały zapisane do obiektu ByteArray
(nie zwraca samych wartości). Jeśli parametr append
ma wartość false
(domyślną), wówczas obiekt ByteArray
jest czyszczony przed zapisaniem wartości próbkowania z bufora. Jeśli parametr append
ma wartość true, wówczas wartości próbkowania są dołączane do obiektu ByteArray
przy zachowaniu starszych wartości. Wartości próbkowania należy dołączać w następujących sytuacjach:
- Konieczne jest udostępnianie określonej liczby wartości.
- Konieczne jest zachowanie historii dłuższej niż zawartość bufora.
append
ma wartość true
, obiekt ByteArray
musi być czyszczony przez aplikację. Jeśli obiekt ByteArray
nie jest czyszczony, staje się on coraz większy, co może spowodować awarię aplikacji.
Po zapisaniu wartości próbkowania do obiektu ByteArray
bufor jest czyszczony.
Jeśli w momencie wywołania tej metody urządzenie jest wyłączone, generowany jest błąd IOError
.
Parametry
data:ByteArray — Obiekt ByteArray, w którym są przechowywane pobrane dane. Jest on wypełniony wartościami próbkowania zapisanymi w postaci liczb rzeczywistych o podwójnej precyzji. Gdy nie wykryto żadnych zmian położenia elementu sterującego, obiekt ByteArray zawiera dla tego elementu wartość NaN.
| |
append:Boolean (default = false ) — Flaga określająca sposób zapisywania danych do obiektu ByteArray . W przypadku wartości true wartości próbek są zapisywane na końcu tablicy. W przypadku wartości false zawartość obiektu ByteArray jest usuwana, a następnie dane są zapisywane w tablicy. Wartość domyślna to false .
|
int — Liczba próbek (nie wartości) zapisanych do obiektu ByteArray .
|
Zgłasza
ArgumentError — Gdy parametr data ma wartość null.
| |
IOError — Gdy ta metoda jest wywoływana, a urządzenie jest wyłączone.
|
getControlAt | () | metoda |
public function getControlAt(i:int):GameInputControl
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3.7 |
Pobiera z urządzenia określony element sterujący.
Obiekt GameInputDevice przechowuje listę elementów sterujących urządzenia. Dostęp do poszczególnych elementów sterujących na urządzeniu można uzyskać przy użyciu metody getControlAt()
.
Kolejność elementów sterujących w indeksie może ulegać zmianie przy każdym dodaniu lub usunięciu urządzenia. Aby dopasować wywołanie do określonego elementu sterującego, można sprawdzić właściwość id
obiektu GameInputControl
.
Elementy sterujące można pobrać nawet, gdy dane urządzenie nie jest włączone. Nie można odczytać wartości elementów sterujących wyłączonego urządzenia. Ta funkcja umożliwia odczytywanie właściwości elementu sterującego przed włączeniem urządzenia, do którego on należy. Za pomocą tej funkcji można ustalić, czy urządzenie jest odpowiednie dla danej aplikacji, zanim urządzenie zostanie włączone.
Parametry
i:int — Indeks obiektu GameInputControl na liście obiektów GameInputControl.
|
GameInputControl — Obiekt GameInputControl o określonym indeksie.
|
Zgłasza
RangeError — Gdy indeks jest mniejszy niż zero lub większy niż (numControls - 1) .
|
startCachingSamples | () | metoda |
public function startCachingSamples(numSamples:int, controls:Vector.<String>):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3.7 |
Zleca danemu urządzeniu przechowywanie wartości próbek w buforze. Właściwość sampleInterval
określa częstotliwość pobierania próbek. Parametr numSamples
określa liczbę próbek przechowywanych w buforze. Parametr controls
określa wartości identyfikatorów elementów sterujących, które mają być próbkowane.
Wartości elementów sterujących są zapisywane w buforze w określonej kolejności. Wartości próbek można pobrać przez wywołanie metody getCachingSamples()
.
Jeśli rozmiar bufora wymagany do przechowywania wartości próbek w pamięci jest większy niż wartość określona w stałej MAX_BUFFER_SIZE
, ta metoda generuje błąd MemoryError
. Jeśli urządzenie nie zostanie włączone przed wywołaniem tej metody, jest generowany błąd IOError
.
Parametry
numSamples:int — Liczba próbek do przechowywania w buforze. Podczas pobierania próbek otrzymywana liczba jest zawsze mniejsza od lub równa wartości parametru numSamples .
| |
controls:Vector.<String> — Wektor obiektów String . Każdy obiekt String jest identyfikatorem elementu sterującego. Próbki są zapisywane w kolejności dostarczonej przez ten wektor.
|
Zgłasza
RangeError — Gdy parametr numSamples ma wartość mniejszą niż lub równą zero albo wpis w parametrze controls jest mniejszy od zera lub większym niż (numControls - 1) .
| |
ArgumentError — Gdy lista elementów sterujących zawiera nieprawidłowe wpisy, ma wartość null lub nie zawiera ani jednego wpisu.
| |
IOError — Gdy ta metoda jest wywoływana względem wyłączonego urządzenia.
| |
MemoryError — Gdy rozmiar bufora (liczba wartosci * probki) jest większy niż wartość MAX_BUFFER_SIZE .
|
stopCachingSamples | () | metoda |
public function stopCachingSamples():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3.7 |
Powoduje zatrzymanie zapisywania próbek w buforze. Zdarzenia dotyczące zmian, którym podlegają elementy sterujące, nadal są generowane, ale próbki nie są już zapisywane w buforze. Wartości są nadal pobierane z częstotliwością określoną przez właściwość sampleInterval
, jednak nie są one przechowywane w buforze. Z tego powodu można pobrać tylko najnowszą wartość.
Zgłasza
IOError — Gdy ta metoda zostanie wywołana bez uprzedniego włączenia urządzenia.
|
MAX_BUFFER_SIZE | Stała |
public static const MAX_BUFFER_SIZE:int = 32000
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3.7 |
Określa maksymalny rozmiar bufora używanego do przechowywania próbkowanych wartości elementów sterujących. Jeśli parametr startCachingSamples
zwraca próbki, które wymagają większej ilości pamięci niż określona, jest generowany błąd pamięci.
Tue Jun 12 2018, 12:06 PM Z