2012-04-20 17 views
7

Ich mache ein Spiel in Flash für Android mit AS3. Ich möchte, dass der Benutzer weiß, dass er eine Taste gedrückt hat, indem er das Gerät für eine kurze Sekunde vibrieren ließ. Kann mir jemand erklären, wie ich das schaffen kann? Muss ich eine bestimmte Klasse importieren und wie sollte der Code aussehen?Wie kann ich mein Gerät vibrieren lassen?

Vielen Dank im Voraus!

+0

Ich musste diese Frage nur für den Titel +1 geben! :) – weltraumpirat

Antwort

0

Danke für die Antworten. Sie haben mich dazu gebracht, etwas weiter in dieses Thema zu forschen. Was ich fand, war dies:

Bevor Sie verwenden können:

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

Sie müssen gehen Sie auf „Bearbeiten von Actionscript-Einstellungen“> „Libary Pfad“> „Durchsuchen zu SWC-Datei“

Sie Es haben diese 2-Datei setzen in:

VibrationActionScriptLibary.swc - mit this Zip-Datei

com.ado bekommen be.extensions.Vibration.swc - In derselben Zip-Datei und demselben Verzeichnis. Sie müssen die .ane in .swc ändern

Als nächstes müssen Sie import com.adobe.nativeExtensions.Vibration; einfach diese Zeile mit den anderen Importen.

Das war alles, was Sie in Flash tun müssen. (Neben der Codierung des eigentlichen Spiels ...)

Als nächstes öffnen Sie die myApp-app.xml. In der XML-Datei scrollen und prüfen, ob die Verbindung zu ns.adobe.com mit 3.0 (oder höher) endet. Wenn nicht, ändere es auf 3.0. Adobe AIR 3.0 oder höher ist für native Erweiterungen erforderlich.

Scrollen Sie weiter zu dem Teil, wo Sie <initialWindow> sehen. Nach dem Schluss-Tag Sie hinzufügen:

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

Wenn Sie weiter nach unten scrollen sollten Sie so etwas wie <android> sehen. In den manifestAdditions müssen Sie eine Berechtigung für das Gerät hinzufügen, damit es tatsächlich erlaubt, dass es die Vibrationsfunktion verwenden kann.

Wenn dort noch keine <![CDATA[manifest> Zeile vorhanden ist, müssen Sie sie hinzufügen. Wenn Sie es hinzugefügt haben/oder wenn es schon da ist, müssen Sie die Erlaubnis hinzufügen.Dies wird mit android:name="android.permission.VIBRATE" Am Ende getan Sie sicherstellen wollen, dass es so etwas wie folgt aussieht:

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

Danach können Sie die XML-Datei speichern und schließen.

Nachdem Sie all dies getan haben, wird Ihre .fla möglicherweise nicht in Flash veröffentlicht, da Flash die gerade eingestellten Daten nicht unterstützt. Wir können jedoch die .fla mit CMD (für Windows) veröffentlichen. Hier endet leider auch meine Unterstützung für Mac-Nutzer. In cmd blättern Sie zu Ihrem Projektordner. Mein Projektordner befindet sich auf meinem Desktop, also tippte ich cd desktop, cd games, cd tilt android game. Nachdem ich in meinem Ordner durchsucht tippte ich diese Befehlszeile ...

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

Stellen Sie sicher, dass die AdobeAIRSDK Ordner in Ihrem Projektordner haben. Wenn alles oben (mit cmd) ein bisschen vage ist, gehen Sie here und sehen Sie sich sein Video und sein Video an, wie man eine ANE-App mit der Befehlszeile für Ihr Betriebssystem kompiliert. (Das ist, was ich an erster Stelle getan habe.)

Wenn Sie und Symbol für Ihre App haben, stellen Sie sicher, dass sie in einem Ordner namens "Symbole" in Ihrem Projektordner sind. Wenn sich Ihre Symbole in einem solchen Ordner befinden, fügen Sie einfach den Ordnernamen am Ende der Befehlszeile ein.

Die App sollte in Ihrem Projektordner veröffentlichen.

Wenn Sie Fragen dazu haben, sehen Sie sich das Video an, das ich verlinkt habe.

+0

Sie sollten diese Antwort als Bearbeitung Ihrer Frage und nicht als Antwort veröffentlichen. Sie sollten @ Vinayak.B für die richtige Lösung danken, da es die richtige Lösung ist. Sie haben nach Code gefragt, und * nicht * wie Sie die Codebasis verbinden. Jeder Programmierer hier würde annehmen, dass Sie bereits wissen, wie der Code implementiert werden soll, oder er würde die Due Diligence durchführen, um ihn zu implementieren. Ihre Antwort ist also * nicht * die richtigste Antwort auf Ihre Frage. – iND

10

die Vibration Erweiterung nutzen zu können, hat eine AIR-Anwendung die folgenden:

Prüft, ob die Erweiterung durch den Aufruf isSupported unterstützt wird. Bewirkt, dass das Gerät vibriert, indem vibrate() aufgerufen wird, wobei die Dauer der Vibration in Millisekunden als Parameter angegeben wird.

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

Android Anwendungen Für eine Android-Anwendung, schließen die Vibration Berechtigung in Ihrer Anwendung Deskriptordatei:

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

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

+0

Wenn ich das in meinem Code hinzufüge sagt es, dass der Typ nicht gefunden wurde: Vibration, oder es war keine Kompilierzeitkonstante. –

+0

Sie müssen sowohl in Ihrem Projekt als auch in der swc eine Referenz einfügen. Verwenden Sie Flash Builder 4.6? –

+0

Ich benutze nur Flash CS5.5. Um zu testen, ob es auf meinem Handy funktioniert, veröffentliche ich es mit Flash. –

Verwandte Themen