【问题标题】:how to set sprite as backgroound in AndEngine?如何在引擎中将精灵设置为背景?
【发布时间】:2014-07-22 12:48:53
【问题描述】:

我是 AndEngine 的新手。我想在我的游戏中将图像设置为背景。我能够完成这项工作,但问题是当我将精灵设置为背景时,当前看到的所有其他精灵都会被隐藏。这是代码:

public class SplashScene extends Scene {
BaseActivity activity;
Sprite sprite1,sprite2,backgrondSprite;

public SplashScene() {
    activity = BaseActivity.getSharedInstance();

    backgrondSprite = new Sprite(0, 0,
            BaseActivity.getSharedInstance().mBackgroundTextureRegion,
            BaseActivity.getSharedInstance().getVertexBufferObjectManager());

    setBackground(new SpriteBackground(backgrondSprite));


     sprite1 = new Sprite(32, 32,
            BaseActivity.getSharedInstance().mBirdTextureRegion, 
            BaseActivity.getSharedInstance().getVertexBufferObjectManager());

     sprite2 = new Sprite(32, 32,
                BaseActivity.getSharedInstance().mBirdTextureRegion, 
                BaseActivity.getSharedInstance().getVertexBufferObjectManager());

     sprite1.setPosition(-sprite1.getWidth(), activity.mCamera.getHeight() / 2);
     sprite2.setPosition(activity.mCamera.getWidth(),
            activity.mCamera.getHeight() / 2);

    attachChild(sprite1);
    attachChild(sprite2);
    attachChild(backgrondSprite);

    sprite1.registerEntityModifier(new MoveXModifier(1, sprite1.getX(),
            activity.mCamera.getWidth() / 2 - sprite1.getWidth()));
    sprite2.registerEntityModifier(new MoveXModifier(1, sprite2.getX(),
            activity.mCamera.getWidth() / 2));

    loadResources();
}

void loadResources() {
    DelayModifier dMod = new DelayModifier(2,
            new IEntityModifierListener() {

                @Override
                public void onModifierStarted(IModifier<IEntity> arg0,
                        IEntity arg1) {
                    // TODO Auto-generated method stub
                }

                @Override
                public void onModifierFinished(IModifier<IEntity> arg0,
                        IEntity arg1) {
                    activity.setCurrentScene(new MainMenuScene());
                }
            });

    registerEntityModifier(dMod);
}

} 我怎样才能让 sprite1 和 sprite2 仍然以另一个 sprite 作为背景显示? 任何帮助将不胜感激。

【问题讨论】:

  • 您是否尝试在附加背景后附加您的精灵?
  • 是的,它工作正常 :) 谢谢!!

标签: android background andengine sprite


【解决方案1】:

是的。 “.. 在附加背景之后附加你的精灵”

你应该知道 zIndex..

这段代码也可以工作..

attachChild(sprite1);
attachChild(sprite2);
attachChild(background);

sprite1.setZIndex(1);
sprite2.setZIndex(1);
background.setZIndex(0);

scene.sortChildren();

背景的索引为0,然后在排序时,它位于底部..

(玩的时候有时需要)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    相关资源
    最近更新 更多