サイトのトップへ戻る

AndEngineドキュメント 日本語訳

左/右操作用のゲームコントローラーボタンを作成する:

ほとんどのゲームでは操作するための何らかのものが必要なので、コントローラーは不可欠です。 この例では、簡単に左/右操作用ボタンを作成する方法を説明します (例えば、プレイヤーを操作して左や右に移動させる、など。)



1. ボタンを作成する:

この例では、サンプルを簡単にするためにRectangle エンティティをボタンとして使用しています。 SpriteやAnimatedSpriteなどのような別のエンティティを使用することができます。

また、今回はボタンを作成して HUDに貼り付けています。

private void createControllers()
{
    HUD yourHud = new HUD();
    
    final Rectangle left = new Rectangle(20, 200, 60, 60, vbo)
    {
        public boolean onAreaTouched(TouchEvent touchEvent, float X, float Y)
        {
            if (touchEvent.isActionUp())
            {
                // move player left
            }
            return true;
        };
    };
    
    final Rectangle right = new Rectangle(100, 200, 60, 60, vbo)
    {
        public boolean onAreaTouched(TouchEvent touchEvent, float X, float Y)
        {
            if (touchEvent.isActionUp())
            {
                // move player right
            }
            return true;
        };
    };
    
    yourHud.registerTouchArea(left);
    yourHud.registerTouchArea(right);
    yourHud.attachChild(left);
    yourHud.attachChild(right);
    
    camera.setHUD(yourHud);
}

それでは、どういった処理をしているかを説明します。まず新しいHUDを作成して、それから二つの 左ボタン用と右ボタン用にrectangleを二つ作成します。各ボタンでは、entities タッチイベントをキャッチするためにonAreaTouched を上書きしています。この例では、プレイヤーが指をタッチして離す度に(isActionUp)、特定の処理を実行することができます。 タッチ領域を事前に作成したHUDに登録し、ボタンをHUDに貼り付け、最後に setHUDメソッドを使ってHUD をcamera に設定します。

これは本当に単純なサンプルなので、適切なボタンを作成するには少し変更を加えてゲームプレイや操作をもっと簡単にする必要があるので注意してください。