Введение
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();
}
});
Комментариев нет:
Отправить комментарий