隐藏和显示sprites andengine Android

时间:2013-12-03 00:23:07

标签: java android andengine

我有一点问题/疑问...... 我想要隐藏一个精灵并显示另一个精灵,但是eclipse给了我错误“本地...可能没有被初始化”。不幸的是,我没有其他想法隐藏和展示那些精灵...... 有谁能够帮我? 代码:

protected Scene onCreateScene() {

    final Scene scene = new Scene();
    Sprite backgroundSprite = new Sprite(0, 0, this.mBackgroundTextureRegion, getVertexBufferObjectManager());
    scene.attachChild(backgroundSprite);

    final Katapulta S_katapulta_wystrzelona = new Katapulta(10, 300, this.mKatapulta_wystrzelona, getVertexBufferObjectManager());

    final Katapulta S_katapulta_zaladowana = new Katapulta(10, 300, this.mKatapulta_zaladowana, getVertexBufferObjectManager()){
        @Override
        public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {

    // IN THIS LINE I HAVE ERROR    S_katapulta_zaladowana.setVisible(false);


            S_katapulta_wystrzelona.setVisible(true);

            return true;
        }
    };

    scene.attachChild(S_katapulta_zaladowana);

    scene.attachChild(S_katapulta_wystrzelona);
    S_katapulta_wystrzelona.setVisible(false);

    scene.registerTouchArea(S_katapulta_zaladowana);

    return scene;
}

4 个答案:

答案 0 :(得分:2)

使用setVisible(false);代替S_katapulta_zaladowana.setVisible(false);,因为您使用onAreaTouched()方法的方式。

答案 1 :(得分:0)

尝试添加此内容。

setOnSceneTouchListener(this); 

答案 2 :(得分:0)

尝试将标签设置为所有精灵。然后使用标签调用精灵然后使其变为不可见

答案 3 :(得分:-1)

你必须初始化变量,以便它实际上指向它可以使用的东西

即;

int x = new int;
x = 69;