Как получить прозрачную анимацию в 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)