我有一点问题/疑问...... 我想要隐藏一个精灵并显示另一个精灵,但是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;
}
答案 0 :(得分:2)
使用setVisible(false);
代替S_katapulta_zaladowana.setVisible(false);
,因为您使用onAreaTouched()
方法的方式。
答案 1 :(得分:0)
尝试添加此内容。
setOnSceneTouchListener(this);
答案 2 :(得分:0)
尝试将标签设置为所有精灵。然后使用标签调用精灵然后使其变为不可见
答案 3 :(得分:-1)
你必须初始化变量,以便它实际上指向它可以使用的东西
即;
int x = new int;
x = 69;