2012-04-20 24 views
7

Sto realizzando un gioco in Flash per Android con AS3. Voglio che l'utente sappia che ha premuto un pulsante facendo vibrare il dispositivo per un breve secondo. Qualcuno può spiegarmi come posso farlo accadere? Devo importare una classe specifica e come dovrebbe essere il codice?Come posso far vibrare il mio dispositivo?

Grazie in anticipo!

+0

Ho dovuto fare +1 su questa domanda, solo per il titolo! :) – weltraumpirat

risposta

0

Grazie per le risposte. Mi hanno fatto approfondire ulteriormente questo argomento. Quello che ho trovato è stato questo:

Prima di poter utilizzare:

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

Devi andare a "Modifica impostazioni di ActionScript"> "Libary Path"> "Individuare file SWC"

ci si mettere questi 2 file in:

VibrationActionScriptLibary.swc - È possibile ottenere con this file zip

com.ado be.extensions.Vibration.swc - Nello stesso file zip e directory. Devi cambiare il file .ane in .swc

Avanti devi import com.adobe.nativeExtensions.Vibration; Basta mettere quella linea con le altre importazioni.

Questo era tutto ciò che dovete fare in Flash. (Oltre a codificare il gioco reale ...)

Successivamente, apri myApp-app.xml. Nell'XML, scorrere verso l'alto e controllare se il collegamento a ns.adobe.com termina con 3.0 (o successivo). In caso contrario, cambiarlo in 3.0. Adobe AIR 3.0 o versione successiva è necessaria per le estensioni native.

Scorri ulteriormente fino alla parte in cui vedi <initialWindow>. Dopo il tag di chiusura si aggiunge:

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

Se si scorre più in basso si dovrebbe vedere qualcosa di simile <android>. In manifestAdditions è necessario aggiungere un'autorizzazione per il dispositivo per consentire effettivamente che possa utilizzare la funzione di vibrazione.

Se non c'è ancora una riga <![CDATA[manifest>, è necessario aggiungerla. Se lo hai aggiunto/o se è già lì devi aggiungere il permesso.Questo viene fatto con android:name="android.permission.VIBRATE" Alla fine si vuole fare in modo che sembra qualcosa di simile:

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

Dopo questo è possibile salvare e chiudere il file xml.

Dopo aver fatto tutto ciò, il tuo .fla potrebbe non riuscire a pubblicare in Flash poiché Flash non supporta le cose che abbiamo appena regolato. Tuttavia, possiamo ancora pubblicare .fla con CMD (per Windows). Questo è anche il punto in cui il mio supporto per gli utenti Mac termina, purtroppo. In cmd si passa alla cartella del progetto. La cartella del mio progetto è sul mio desktop, quindi ho digitato cd desktop, cd games, cd tilt android game. Dopo che ho passato in rassegna alla mia cartella ho digitato questa riga di comando ...

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

Assicurarsi di avere la cartella AdobeAIRSDK nella cartella del progetto. Se tutto quanto sopra (con cmd) è un po 'vago, vai su here e guarda il suo video e il suo video su come compilare un'app ANE con la riga di comando per il tuo sistema operativo. (Questo è quello che ho fatto in primo luogo.)

Se disponi di un'icona per l'app, assicurati che si trovi in ​​una cartella denominata "icone" nella cartella del progetto. Se le icone si trovano in una cartella di questo tipo, incollare il nome della cartella alla fine della riga di comando.

L'app deve essere pubblicata nella cartella dei progetti.

Se avete domande su questo, assicuratevi di guardare il video che ho collegato.

+0

Dovresti inserire questa risposta come una modifica alla tua domanda, e non come risposta. Dovresti dare credito a @ Vinayak.B per la soluzione corretta, poiché è la soluzione corretta. Hai chiesto il codice e * non * come collegare il codice base. Qualsiasi programmatore qui presumerebbe che tu sappia già come implementare il codice o farebbe la dovuta diligenza per implementarlo. Quindi la tua risposta è * non * la risposta più corretta alla tua domanda. – iND

10

di utilizzare l'estensione delle vibrazioni, un'applicazione AIR fa le seguenti:

Controlla se l'estensione è supportata chiamando isSupported. Fa vibrare il dispositivo chiamando vibrazione(), specificando la durata della vibrazione in millisecondi come parametro.

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

applicazioni Android Per un'applicazione Android, includono il permesso di vibrazioni nel file descrittore dell'applicazione:

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

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

+0

Se aggiungo questo nel mio codice, dice che il tipo non è stato trovato di: Vibrazione, o non era una costante in fase di compilazione. –

+0

È necessario includere un referenece sia per ane che per swc nel progetto. Stai usando Flash Builder 4.6? –

+0

Uso solo Flash CS5.5. Per verificare se funziona sul mio telefono lo pubblico con Flash. –

Problemi correlati