Android: Come fare file di risorse di gioco leggibile da codice C ++ usando NDK
-
21-09-2019 - |
Domanda
Sto creando un gioco utilizzando la porta motore di C ++ grafica 3D irrlicht alla piattaforma Android. Il motore grafico è scritto in C ++. Ho bisogno di essere in grado di caricare le mesh e texture, ecc da codice C ++. Il mio piano attuale è quello di mettere tutti i file di risorse di gioco sia nella res / directory crudo o la directory di beni poi all'avvio copiare questi file alla sdcard in modo che siano accessibili dal codice irrlicht c ++. È questo il modo migliore per rendere i file multimediali gioco accessibile dalla C ++?
Soluzione
Ci sono diversi modi per fare questo ... ognuno ha i propri limiti, quindi non posso dare una buona raccomandazione senza sapere di più circa la vostra situazione. Qui ci sono alcuni link a discussioni con alcuni consigli che potrebbero aiutarti:
http://groups.google.com/group/android- ndk / browse_thread / filetto / 842ca9d7d82995b0
posso darvi suggerimenti più specifici se sapevo a) quante risorse necessarie per l'accesso b) La dimensione del più grande risorsa si incontrano, più specificamente, sono tutte le risorse <1 MB di dimensione non compressa?
Altri suggerimenti
In teoria, è possibile passare l'InputStream al codice nativo C ++ e lo hanno chiamare i suoi metodi. È anche possibile implementare un istream sopra di quelli. Tuttavia, non credo che questo è quello che stai cercando.
Tieni presente che le file di risorse nella APK non vengono memorizzati come, pure, i file. Sono compressi e archiviati - un APK è in realtà un file ZIP rinominato. Quindi vi consiglio di copiare l'asset in una cartella di dati all'interno di Java, poi passando il nome del file che copia a C ++.
Questo, tra l'altro, completamente esclude scrivendo a tali attività.