Как получить прозрачную анимацию в AndEngine?

Я успешно отобразил анимацию с помощью таблицы спрайтов (созданной с помощью TexturePacker). Но когда я устанавливаю прозрачный фон для сцены, он не работает! это отображается с черным фоном. Но для других цветов это отображение указанных цветов.

m_Scene.setBackground(new Background(Color.RED));//displayed with red Bg

m_Scene.setBackground(new Background(Color.TRANSPARENT));//displayed with black Bg

ниже мой полный метод onCreateScene() и моя активность расширяет SimpleBaseGameActivity

В чем может быть причина этой проблемы? Может кто-нибудь помочь мне решить это?

@Override
protected Scene onCreateScene() {

    m_Scene = new Scene();
    m_Scene.setBackground(new Background(Color.TRANSPARENT));
    mTiledTextureRegion = getTiledTextureFromPack("sample");
    mAnimatedSprite = new AnimatedSprite(0, 0, mTiledTextureRegion,
            this.getVertexBufferObjectManager());
    m_Scene.attachChild(mAnimatedSprite);
    mAnimatedSprite.animate(160);
    return m_Scene;
}

У меня есть два вида деятельности: "FirstActivity" и "SecondActivity". "FirstActivity" расширяет Activity, а "SecondActivity" расширяет SimpleBaseGameActivity. То, что я делаю, я запускаю SecondActivity из FirstActivity по нажатию кнопки.

   public void onGoButtonCLick(View view) {

      startActivity(new IntentFirstActivity.this,SecondActivity.class));
}

и SecondActivity сделана прозрачной в манифесте

android:theme="@android:style/Theme.Translucent"

Теперь экран вывода отображается прозрачным в других местах, но область сцены становится черной, если установлена m_Scene.setBackground(new Background(Color.TRANSPARENT));

пожалуйста, проверьте ссылку ниже, чтобы увидеть вывод:

m_Scene.setBackground(new Background(Color.RED)); // отображается красным Bg

https://docs.google.com/file/d/0BwMxWp4Tk7MEUE53dEVnM3NoTlk/edit

m_Scene.setBackground(new Background(Color.TRANSPARENT));// отображается с черным Bg

https://docs.google.com/file/d/0BwMxWp4Tk7MEVWZYWGJDa3o2Ums/edit

1 ответ

Сначала я подумал, что вы хотите сделать свой экран телефона прозрачным, как окно, потому что в конце концов что-то должно быть на заднем плане;p Но потом я увидел, что вы используете сцену неправильно.

Вероятно, метод onCreateScene используется в классе, расширяющем Scene. Это означает, что вы не должны создавать другую сцену поверх другой. Вместо создания new Scene() использование this.attachChild(sprite)

Другие вопросы по тегам