И двигатель, как поставить 2 OnScreenControl?

Я хочу поставить 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 на экране?
Спасибо!

2 ответа

Решение

Мне это удалось:

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

    this.mCamera.setHUD(hud);

добавили второй к дочерней сцене первого.

Бей!

Вам не нужно 2 Huds:

HUD hud = new HUD();

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

this.mCamera.setHUD(hud);
Другие вопросы по тегам