Sto scrivendo un gioco per Android utilizzando AndEngine GLES 2. Tutto funzionava correttamente - avevo un'immagine di sfondo, c'erano degli sprite che si muovevano e persino della musica - fino a poco tempo fa ho provato qualcosa di nuovo (volevo essere in grado di passare tra due scene diverse) quando il display diventava nero.AndEngine GLES 2 - schermata nera, senza errori
Potrei ancora eseguire il gioco e non sono stati visualizzati errori. Sono state mostrate tutte le voci di registro che ho creato durante il gioco, anche se la musica stava suonando, quindi sapevo che il gioco funzionava "correttamente", ma non riuscivo a vedere alcuna immagine. Niente. Tutto nero.
Quindi ho pensato, cambiando tutto prima che questo "errore" apparisse, avrebbe funzionato. Ma lo schermo è ancora nero.
Ho persino provato a commentare tutto ma l'immagine di sfondo - niente.
Ora se non c'è molto da chiedere, qualcuno potrebbe per favore guardare oltre questo breve pezzo di codice e dirmi cosa c'è che non va?
Questo sono le variabili io uso:
private SmoothCamera camera;
private BitmapTextureAtlas bitmapTextureAtlas;
private Scene scene;
private Sprite background;
I EngineOptions ho mai cambiato, in modo che dovrebbe essere a posto.
@Override
public EngineOptions onCreateEngineOptions() {
float positionX = 80f; // horizontal (x) position of the camera
float positionY = 280f; // vertical (y) position of the camera
float velocityX = 200f; // velocity of the horizontal camera movement
float velocityY = 200f; // velocity of the vertical camera movement
float zoomFactor = 1f; // the camera's zoom Factor (standard := 1)
this.camera = new SmoothCamera(positionX, positionY, this.getWindowManager().getDefaultDisplay().getWidth(), this.getWindowManager().getDefaultDisplay().getHeight(), velocityX, velocityY, zoomFactor);
EngineOptions options = new EngineOptions(true, ScreenOrientation.LANDSCAPE_SENSOR, new RatioResolutionPolicy(this.camera.getWidth(), this.camera.getHeight()), this.camera);
return options;
}
Qui ho creare il TextureAtlas e caricare un'immagine di sfondo .
@Override
protected void onCreateResources() {
// create the TextureAtlas
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
this.bitmapTextureAtlas = new BitmapTextureAtlas(this.getTextureManager(), 1024, 1600, TextureOptions.NEAREST);
// background
this.background = new Sprite(0, 0, BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(this.bitmapTextureAtlas, this, "background.png", 0, 0, 1, 1), this.getVertexBufferObjectManager());
this.mEngine.getTextureManager().loadTexture(this.bitmapTextureAtlas);
}
E infine il scena viene creata un'istanza e lo sfondo si attacca.
@Override
protected Scene onCreateScene() {
this.scene = new Scene();
this.scene.attachChild(this.background);
return this.scene;
}
Ora perché questa piccola attività non viene visualizzata? Dimenticavo: è un SimpleBaseGameActivity.
Bene, dal momento che AndEngine GLES2 non è in esecuzione sull'emulatore, devo usare il mio telefono (Samsung Galaxy GIO) e non posso testare l'app su un'altra macchina.
Qualcuno si è imbattuto in un problema simile? Qualsiasi aiuto è davvero molto apprezzato e grazie per il tuo tempo!
- Christoph
OK, ho creato un nuovo progetto con solo questa attività sopra. Non ha funzionato - e ancora nessun messaggio di errore. Ora sono completamente perso ... – GameDroids
Il problema è finito ora ... Non posso dire che sia risolto, dal momento che non ho ancora idea di cosa sia andato storto, ma sta funzionando di nuovo (beh, solo lo sfondo schermo, non il gioco completo che avevo prima) Dopo molti anni in informatica, ho pensato "Hai provato a spegnerlo e riaccenderlo?"La soluzione potrebbe sempre essere evitata - sbagliato! Dopo aver disinstallato e cancellato ogni traccia della mia app dal mio telefono e riavviato tutto, improvvisamente ha iniziato a funzionare di nuovo Scusa se ho perso tempo. Spero che questa" cosa "non accada mai più! riguarda christoph – GameDroids