0

我想在屏幕上放 2 个模拟 OnScreenControl 来控制两个不同的东西。

当我只放 1 时,这非常有效。但是当我放另一个时,第一个刚刚塌陷,消失了。

我尝试使用 HUD,但我认为我做错了什么

这是我的代码:

    // 2  
    analogOnScreenControl.getControlBase().setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);    
    analogOnScreenControl.getControlBase().setAlpha(0.5f); 
    analogOnScreenControl.getControlBase().setScaleCenter(-16, 128+16); 
    analogOnScreenControl.getControlBase().setScale(2f);
    analogOnScreenControl.getControlKnob().setScale(2f); 
    analogOnScreenControl.refreshControlKnobPosition();

    // 2 
    analogOnShotControl.getControlBase().setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 
    analogOnShotControl.getControlBase().setAlpha(0.5f); 
    analogOnShotControl.getControlBase().setScaleCenter(-16, 128+16);  
    analogOnShotControl.getControlBase().setScale(2f); 
    analogOnShotControl.getControlKnob().setScale(2f); 
    analogOnShotControl.refreshControlKnobPosition(); 

    HUD hud1 = new HUD();
    HUD hud2 = new HUD();
    hud1.setChildScene(analogOnScreenControl); // 1
    hud2.setChildScene(analogOnShotControl); // 2

    this.mCamera.setHUD(hud1);
    this.mCamera.setHUD(hud2);

但只有第二个出现在屏幕上。

我怎样才能把2放在屏幕上?
谢谢 !

4

2 回答 2

0

我成功了:

    HUD hud = new HUD();
    hud.setChildScene(analogOnScreenControl); // 1
    analogOnScreenControl.setChildScene(analogOnShotControl);

    this.mCamera.setHUD(hud);

将第二个添加到第一个的子场景中。

拜!

于 2014-02-19T17:24:25.077 回答
0

您不需要 2 个 hud:

HUD hud = new HUD();

hud.setChildScene(analogOnScreenControl); // 1
hud.setChildScene(analogOnShotControl); // 2

this.mCamera.setHUD(hud);
于 2014-02-24T12:56:12.213 回答