以前紹介したDigitalOnScreenControlのように画面がスクロールしてもディスプレイ上の固定位置に配置されています。
では、今回はHUDを継承した簡単なサンプルを提示したいと思います。
画面上の上部に白い四角を描きたいと思います。
まずはHUDを継承したTestBarクラスを作成
import org.anddev.andengine.engine.camera.Camera;
import org.anddev.andengine.engine.camera.hud.HUD;
import org.anddev.andengine.entity.primitive.Rectangle;
public class TestBar extends HUD {
public TestBar(float pX, float pY, final Camera pCamera) {
this.setCamera(pCamera);
final Rectangle btnSubRect = new Rectangle(pX, pY, pCamera.getWidth(), 30);
btnSubRect.setColor(1, 1, 1);
this.attachChild(btnSubRect);
pCamera.setHUD(this);
}
}
BaseGameActivityを継承したクラスのonLoadScene()でSceneにsetChildSceneとして作成したクラスのインスタンスを渡す。
private Scene mScene;
public Scene onLoadScene() {
mScene = new Scene();
/** ・・省略・・ **/
final TestBar testbar = new TestBar(0, 0, this.mBoundChaseCamera);
/** ・・省略・・ **/
return mScene;
}
以上の内容を実行すると下の画像のようになります。
DigitalOnScreenControlでプレイヤーを移動させても画面の上部に白い四角は固定された位置に描画され続けます。
AndEngine.orgのHUDの記事にHUDの説明とCreatingとRemovingについて例が載っています。

0 件のコメント:
コメントを投稿