我有三个TextureRegions
,就像这样创建:
mBackgroundTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(mMenuTextureAtlas, pActivity, "menu_background.png", 0, 0);
mPlayBtnTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(mMenuTextureAtlas, pActivity, "play_btn.png", 50, 100);
mExitBtnTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(mMenuTextureAtlas, pActivity, "exit_btn.png", 50, 200);
我也为每个TextureRegion
创建了相应的精灵,它们是这样创建的:
mBackgroundSprite = new Sprite(0, 0, mBackgroundTextureRegion, mBufferObjectManager);
mPlayBtnSprite = new Sprite(0, 0, mPlayBtnTextureRegion, mBufferObjectManager);
mExitBtnSprite = new Sprite(0, 0, mExitBtnTextureRegion, mBufferObjectManager);
当我将mBackgroundSprite
附加到这样的场景时:
mScene.attachChild(mBackgroundSprite);
我希望只有mBackgroundTextureRegion
出现在场景中(即“menu_background.png”),但实际上会出现所有三个TextureRegions
(即mPlayBtnTextureRegion
和mExitBtnTextureRegion
它们的位置也分别是(50,100)和(50,200)。
我的问题是:
一个。为什么会这样? (它与所有TextureRegions使用相同的纹理有关吗?)
B中。在场景中只显示一个TextureRegion的正确方法是什么?
答案 0 :(得分:0)
这与纹理图集没有任何关系。这或多或少是正确的做法。屏幕上不应显示任何内容,除非它们作为孩子附着在某物(场景或引擎)上。如果您需要更直接的帮助,请上传您正在加载精灵的代码部分。