Domanda

Sto cercando di imparare a fare i videogiochi su Android, e quindi sto bisogno di ottenere alcuni tutorial decente in corso su come fare grafica su Android utilizzando l'oggetto SurfaceView. Tuttavia ogni singolo tutorial di grafica che ho provato (soprattutto roba SurfaceView) non è riuscito. Si prega di notare che io non voglio usare XML, in quanto è fuori dal mio elemento, e Google vuole solo vendere quella tecnica sulla pubblicità di pulizia, che posso fare a livello di codice.

Uno dei problemi principali che ho incontrato è che ci sono molti tutorial, sia da Google e da terzi, con il codice che utilizza il comando di importazione android.opengl.GLSurfaceView, o sia le importazioni un sottoinsieme GLSurfaceView, e che non funziona sul mio IDE. Ogni volta che provo ad importare uno di quelli, Eclipse vuole dire che in fondo non riconosce quel pacchetto. La cosa strana è che posso importare android.opengl. *, Anche se ancora un po 'che causa del codice in quei pacchetti di essere riferimento ai tipi e / o metodi non riconosciuti.

Dopo aver provato a scherzare con il primo problema per un po ', ho notato che l'esempio Lunar Lander non ha cercato di importare uno di quei due biblioteche problema. Così ho tirato il codice e risorse di riferimento per quella in uno dei miei progetti infantili, lasciando tutto il resto in quel progetto non utilizzati. Naturalmente ho cambiato quale pacchetto il codice Lunar Lander era dentro e ha cambiato il nome della classe in LunarLander.java o qualsiasi altra cosa, ma che non dovrebbe importare. Sono stato in grado di ottenere la cosa di costruire in Eclipse. Tuttavia quando sono andato a correre, sarebbe fare altro che incidente. Senza mostrare qualsiasi grafica Lunar Lander o qualsiasi cosa, l'emulatore sarebbe solo darmi questo messaggio di errore fondamentalmente dicendo che la mia App ha smesso di funzionare in modo imprevisto e mi fa chiudere l'app.

1) Qual è il problema con i problemi con il pacchetto opengl.GLSurfaceView? 2) Qual è il problema con l'esempio Lunar Lander? 3) Se è un buon tutorial ferma su come fare videogiochi per Android

Grazie.

È stato utile?

Soluzione

State voi costruendo giochi in 2D o 3D? Non posso parlare per il 3D, ma ho costruito alcuni giochi 2D semplici e SurfaceView era più un ostacolo che un aiuto. L'emulatore simula un solo core, in modo che non si è davvero ottenere un miglioramento delle prestazioni sul disegno. Inoltre, il sovraccarico e la manutenzione filo è un dolore da affrontare e impedisce a molte funzionalità (ho trascorso un paio d'ore solo cercando di lanciare un dialogo GameOver da varie configurazioni, e il filo in più ha impedito che ciò accada).

Un'alternativa al SurfaceView sarebbe quello di implementare la propria classe che estende View, e sovrascrivere OnDraw (Canvas) per disegnare quello che vuoi (questo è quello che io ei miei amici fatto).

Per rispondere alle vostre punti:

  • Non ho mai lavorato in 3D o usato OpenGL di Android, ma Eclipse (se è quello che si sta utilizzando) può essere un po 'suscettibile di localizzare risorse Android. Fanno il resto delle vostre classi di carico?

  • Lunar Lander mostra come creare e distruggere un panorama che spazia SurfaceView e SurfaceHandler. Anche in questo caso, ci possono essere i contesti per i quali SurfaceView è una grande scelta, ma se si sta appena iniziando con Android e la costruzione di giochi 2D semplici, non credo che sia essenziale.

  • buoni tutorial sono difficili da trovare. Ho imparato abbastanza per fare questo gioco 2D da trascorrere qualche ora con la versione e-book di Ciao Android .

Alcuni amici miei e io stiamo lavorando sui giochi per Android questo semestre, abbiamo anche istituito un blog che speriamo di fare una risorsa per gli altri come il semestre va avanti. Purtroppo, non c'è molto su di esso al momento.

In bocca al lupo!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top