ich ein Spiel für Android schreibe mit AndEngine GLES 2. Alles funktionierte einwandfrei - ich hatte ein Hintergrundbild, es bewegten sich Sprites und sogar Musik - bis vor kurzem habe ich etwas Neues versucht (ich wollte zwischen zwei verschiedenen Szenen wechseln können), als das Display schwarz wurde.AndEngine GLES 2 - schwarzer Bildschirm, keine Fehler
Ich konnte immer noch das Spiel ausführen und es gab keine Fehler gezeigt. Alle Logeinträge, die ich während des Spiels gemacht habe, wurden gezeigt, sogar die Musik spielte, also wusste ich, dass das Spiel "richtig" lief, aber ich konnte kein Bild sehen. Nichts. Alles schwarz. So
dachte ich, alles wieder zu ändern, bevor diese „Fehler“ erschien, würde den Trick. Aber immer noch ist der Bildschirm schwarz.
ich sogar versucht, alles zu kommentieren, aber das Hintergrundbild - nichts.
Nun, wenn es nicht zu viel ist, zu fragen, könnte jemand bitte dieses kurze Stück Code überblicken und mir sagen, was es ist falsch?
Dies sind die Variablen Ich verwende:
private SmoothCamera camera;
private BitmapTextureAtlas bitmapTextureAtlas;
private Scene scene;
private Sprite background;
Die EngineOptions ich nie geändert, so sollten sie in Ordnung sein.
@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;
}
Hier erstelle ich die TextureAtlas und laden ein Hintergrundbild.
@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);
}
Und schließlich die Szene instanziiert und der Hintergrund angebracht wird.
@Override
protected Scene onCreateScene() {
this.scene = new Scene();
this.scene.attachChild(this.background);
return this.scene;
}
Nun, warum würde diese kleine Aktivität nicht angezeigt? Ich habe vergessen: es ist eine SimpleBaseGameActivity.
Nun, da AndEngine GLES2 ist nicht auf dem Emulator ausgeführt, ich habe mein Telefon benutzen (Samsung Galaxy GIO) und kann die App auf einem anderen Rechner nicht testen.
Hat jemand auf ein ähnliches Problem stolpern? Jede Hilfe wird wirklich sehr geschätzt und danke für Ihre Zeit!
- Christoph
in Ordnung sein, habe ich eine neues Projekt mit nur dieser Aktivität oben. Es hat nicht funktioniert - und immer noch keine Fehlermeldungen. Jetzt bin ich komplett verloren ... – GameDroids
Das Problem ist jetzt weg ... Ich kann nicht sagen, dass es gelöst ist, da ich immer noch keine Ahnung habe, was schief gelaufen ist, aber es funktioniert wieder (naja, nur der Hintergrund Bildschirm, nicht das komplette Spiel, das ich vorher hatte) Nach vielen Jahren in der Informatik, dachte ich "Haben Sie versucht, es aus- und wieder einzuschalten?"Lösung könnte immer vermieden werden - falsch! Nach der Deinstallation und Löschen jeder Spur meiner App von meinem Telefon und Neustart alles funktioniert plötzlich wieder. Sorry, wenn ich Ihre Zeit verschwendet. Hoffe, dass" Ding "nie wieder passiert! grüße christoph – GameDroids