Введение
HUD происходит от сокращения Head-Up Display и представляет собой все те части пользовательского интерфейса, которые имеют фиксированное положение на экране. В игре это обычно счетчики жизни, боеприпасов, карта уровня, номер уровня и т.д. Andengine имеет легкую встроенную поддержку HUD элементов управления на экране.
Создание экранных элементов управления
Прежде всего, как и в любом andengine приложении, необходимо создать сцену
Затем мы должны создать элементы управления с помощью метода AnalogOnScreenControl
HUD происходит от сокращения Head-Up Display и представляет собой все те части пользовательского интерфейса, которые имеют фиксированное положение на экране. В игре это обычно счетчики жизни, боеприпасов, карта уровня, номер уровня и т.д. Andengine имеет легкую встроенную поддержку HUD элементов управления на экране.
Создание экранных элементов управления
Прежде всего, как и в любом andengine приложении, необходимо создать сцену
Scene scene = new Scene();
Затем мы должны создать элементы управления с помощью метода AnalogOnScreenControl
analog = new AnalogOnScreenControl(0, padY, game.camera, TextureManager.mOnScreenControlBaseTextureRegion, TextureManager.mOnScreenControlKnobTextureRegion, 0.3f, 200, new IAnalogOnScreenControlListener() { @Override public void onControlChange(final BaseOnScreenControl pBaseOnScreenControl, final float pValueX, final float pValueY) { //TODO your analog movement control events } @Override public void onControlClick(final AnalogOnScreenControl pAnalogOnScreenControl) { //TODO your onClick controll events } });
Если необходимо, можно изменить формат основного изображения или кнопок при помощи методов подкласса Entity
analog.getControlBase().setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); analog.getControlBase().setAlpha(0.65f); analog.getControlKnob().setAlpha(0.65f); analog.getControlKnob().setScale(scale); analog.getControlBase().setScaleCenter(0, 0); analog.getControlBase().setScale(scale); analog.refreshControlKnobPosition();
Последний шаг - добавление элементов на нашу сцену.
scene.setChildScene(analog);
Примечание: мы добавляем новые элементы сцены. Они будут фиксированы и не будут скроллироваться вашей камерой
Удаление элементов управления
Удаляем элементы управления аналогично удалению объекта со сцены:
mEngine.runOnUpdateThread(new Runnable() { @Override public void run() { mCamera.getHUD().detachSelf(); } });
Комментариев нет:
Отправить комментарий