И двигатель, как поставить 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);