Unerwartete Ergebnisse bei der Implementierung einfacher Bewegungsunschärfe in Libgdx
In den beiden angehängten Bildern funktioniert der Desktop-Screenshot von libgdx wie erwartet. Der Screenshot von meinem Galaxy Nexus ist leider nicht so wie erwartet. Ich versuche, einen einfachen Bewegungsunschärfe- oder Spureffekt zu erzeugen.
Rendern wie erwartet auf meinem Desktop.
Auf meinem Galaxy Nexus wird nicht wie erwartet gerendert.
Die Kreistexturen werden beim Rendern in einer for-Schleife gezeichnet, und der Effekt wird mit einer Pixmap erzielt, die den RGBA-Wert 0, 0, 0, 0.1f verwendet, der vor den Kreisen gezeichnet wird.
screenClearSprite-Erstellung
Pixmap screenClearPixmap = new Pixmap(256, 256, Format.RGBA8888);
screenClearPixmap.setColor(Color.rgba8888(0, 0, 0, 0.1f));
screenClearPixmap.fillRectangle(0, 0, 256, 256);
screenClearTexture = new Texture(screenClearPixmap);
screenClearSprite = new Sprite(screenClearTexture);
screenClearSprite.setSize(screenWidth, screenHeight);
screenClearPixmap.dispose();
Machen
batch.begin();
font.draw(batch, "fps:" + Gdx.graphics.getFramesPerSecond(), 0, 20);
screenClearSprite.draw(batch);
for (int i = 0; i < circleBodies.size(); i++) {
tempPos = circleBodies.get(i).getPosition();
batch.draw(circleTexture, (tempPos.x * SCALE) + screenWidthHalf
- circleSizeHalf, (tempPos.y * SCALE) + screenHeightHalf
- circleSizeHalf);
}
batch.end();
Also, was habe ich falsch gemacht? Vielleicht gibt es einen besseren Weg, um den Bewegungsunschärfeeffekt einer Bewegung zu erzielen?