В двух прикрепленных изображениях снимок экрана на рабочем столе libgdx функционирует так, как ожидалось. Скриншот от моей Galaxy Nexus, к сожалению, не так. Я пытаюсь создать простой эффект размытия движения или след.
Рендеринг, как я ожидал, на своем рабочем столе.
Не было рендеринга, как я ожидал от своей галактической связи.
Тексты окружности рисуются в цикле for во время рендеринга, и эффект достигается с помощью pixmap с использованием RGBA 0, 0, 0, 0,1f, который рисуется перед кругами.
создание screenClearSprite
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();
Render
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();
Итак, что я сделал неправильно? Возможно, есть лучший способ получить эффект движения "motion blur"?