2012-04-20 10 views
7

Tworzę grę we Flash na Androida z AS3. Chcę, aby użytkownik wiedział, że nacisnął przycisk, przez co urządzenie wibruje przez krótką chwilę. Czy ktoś może mi wytłumaczyć, jak mogę to zrobić? Czy muszę zaimportować określoną klasę i jak powinien wyglądać kod?Jak mogę wibracjami urządzenia?

Z góry dziękuję!

+0

Musiałem dać +1 temu pytaniu, tylko po tytuł! :) – weltraumpirat

Odpowiedz

0

Dzięki za odpowiedzi. Zmusili mnie do głębszego zbadania tego tematu. Co znalazłem to:

Zanim będzie można użyć:

var vibe:Vibration; 
if(Vibration.isSupported){ 
    vibe = new Vibration(); 
    vibe.vibrate(500); 
} 

Musisz iść do "Edytuj ustawienia ActionScript"> "Libary ścieżka"> "Przejdź do pliku SWC"

Tam umieścić te 2 pliki w:

VibrationActionScriptLibary.swc - można dostać z this plik zIP

com.ado be.extensions.Vibration.swc - W tym samym pliku zip i katalogu. Musisz zmienić .ane na .swc

Następnie musisz import com.adobe.nativeExtensions.Vibration; Po prostu umieść tę linię z innymi importami.

To wszystko, co musisz zrobić we Flashu. (Oprócz kodowania samej gry ...)

Następnie otwórz plik myApp-app.xml. W pliku xml przewiń w górę i sprawdź, czy link do witryny ns.adobe.com kończy się na 3.0 (lub nowszym). Jeśli nie, zmień go na 3.0. W przypadku rozszerzeń natywnych wymagany jest Adobe AIR 3.0 lub wyższy.

Przewiń dalej w dół do części, w której znajduje się <initialWindow>. Po zamykającym tagiem dodać:

<extensions> 
    <extensionID>com.adobe.Vibration</extensionID> 
</extensions> 

Jeśli przejdziesz dalej powinieneś zobaczyć coś podobnego <android>. W manifeście musisz dodać zezwolenie dla urządzenia, aby rzeczywiście zezwolić mu na korzystanie z funkcji wibracji.

Jeśli nie ma jeszcze linii <![CDATA[manifest>, musisz ją dodać. Jeśli ją dodałeś/lub już tam jest, musisz dodać pozwolenie.Odbywa się to z android:name="android.permission.VIBRATE" W końcu chcesz się upewnić, że wygląda mniej więcej tak:

<![CDATA[<manifest> 
    <uses-permission android:name="android.permission.VIBRATE"/> 
</manifest>]]> 

Po tym można zapisać i zamknąć plik XML.

Po wykonaniu tych wszystkich czynności .fla może nie zostać opublikowana w programie Flash, ponieważ Flash nie obsługuje poprawionych elementów. Jednakże nadal możemy opublikować plik .fla z CMD (dla Windows). Tutaj też kończy się moje wsparcie dla użytkowników komputerów Mac. W cmd przejdziesz do folderu projektu. Mój folder projektu znajduje się na moim komputerze, dlatego wpisałem cd desktop, cd games, cd tilt android game. Po przeglądałem do notatnika Wpisałem ten wiersz polecenia ...

AdobeAIRSDK\bin\adt -package -target apk -storetyp pkcs12 -keystore YOUR_LICENCE.p12 myApp.apk myapp-app.xml myapp.swf -extdir extensionDir 

upewnij się, że folder AdobeAIRSDK w folderze projektu. Jeśli wszystkie powyższe (z cmd) jest trochę niejasne przejdź here i oglądać jego wideo i jego wideo o tym, jak skompilować aplikację ANE z wiersza poleceń dla systemu operacyjnego. (Właśnie to zrobiłem w pierwszej kolejności.)

Jeśli masz i ikonę aplikacji, upewnij się, że są one w folderze o nazwie "ikony" w folderze projektu. Jeśli twoje ikony znajdują się w takim folderze, po prostu wklej nazwę folderu na końcu wiersza poleceń.

Aplikacja powinna publikować w folderze projektów.

Jeśli masz jakieś pytania na ten temat, obejrzyj film, który łączyłem.

+0

Powinieneś opublikować tę odpowiedź jako odpowiedź na swoje pytanie, a nie jako odpowiedź. Należy podać wartość @ Vinayak.B dla prawidłowego rozwiązania, ponieważ jest to poprawne rozwiązanie. Poprosiłeś o kod i * nie * jak podłączyć bazę kodu. Każdy programista założyłby, że już wiesz, jak zaimplementować kod lub czy wykonał należytą staranność, aby go wdrożyć. Twoja odpowiedź brzmi: * nie * najbardziej poprawna odpowiedź na twoje pytanie. – iND

10

Aby użyć rozszerzenia wibracji, aplikacja AIR wykonuje następujące operacje:

sprawdza czy rozszerzenie jest obsługiwane przez wywołanie isSupported. Powoduje, że urządzenie wibruje, wywołując funkcję wibracji(), określając czas trwania drgań w milisekundach jako parametr.

var vibe:Vibration; 
if (Vibration.isSupported) 
{ 
    vibe = new Vibration(); 
    vibe.vibrate(2000); 
} 

aplikacje Android dla aplikacji Android, w tym pozwolenie na wibracje w pliku deskryptora aplikacji:

Android Permission: <uses-permission android:name="android.permission.VIBRATE"/>

odniesienie: http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/vibration.html

+0

Jeśli dodaję to do mojego kodu, oznacza to, że typ nie został znaleziony: Wibracja lub nie była to stała czasu kompilacji. –

+0

Musisz zawrzeć referenece zarówno do ane, jak i do swc w projekcie. Czy używasz Flash Builder 4.6? –

+0

Używam tylko Flasha CS5.5. Aby przetestować, czy działa na moim telefonie, publikuję go za pomocą Flasha. –

Powiązane problemy