FlxVirtualPad の変更点


[[API Reference]] > [[flixel.ui]] > FlxVirtualPad

* FlxVirtualPad [#e515cab0]
モバイル環境向けの仮想ゲームパッドを表示・制御するクラスです

----
#contents
----
* スーパークラス [#u113d9ba]

 FlxBasic
  < FlxObject
      < FlxSprite
          < FlxTypedSpriteGroup<FlxSprite>
              < FlxSpriteGroup
* 定数 [#g0d61e40]
|''分類''|''種類''|''説明''|h
|FlxDPadMode (方向ボタン)|NONE|なし|
|~|UP_DOWN|上下ボタン|
|~|LEFT_RIGHT|左右ボタン|
|~|UP_LEFT_RIGHT|上左右ボタン|
|~|FULL|上下左右ボタン|
|FlxActionMode(アクションボタン)|NONE|なし|
|~|A|Aボタン|
|~|A_B|ABボタン|
|~|A_B_C|ABCボタン|
|~|A_B_X_Y|ABXYボタン|

※存在しないボタンにアクセスするとハングアップします。
 例えば、方向ボタンに「LEFT_RIGHT (左右ボタン)」を定義したのにもかかわらず、
 FlxVirtualPad.buttonUp (上ボタン)にアクセスした場合

* フィールド [#jac99031]
** buttonA:FlxButton : Aボタン [#qb299df3]
** buttonB:FlxButton : Bボタン [#ob06174b]
** buttonC:FlxButton : Cボタン [#q9cd6278]
** buttonY:FlxButton : Yボタン [#s8d84b95]
** buttonX:FlxButton : Xボタン [#ocad25af]
** buttonLeft:FlxButton : 左ボタン [#l6675a28]
** buttonUp:FlxButton : 上ボタン [#ue45f87a]
** buttonRight:FlxButton : 右ボタン [#v9877416]
** buttonDown:FlxButton : 下ボタン [#yeee433e]

** dPad:FlxSpriteGroup : 方向ボタンのグループ [#q8b16b24]

** actions:FlxSpriteGroup : アクションボタンのグループ [#l762151c]
* メソッド [#f5037759]
** new() : コンストラクタ [#w13ac196]
- 引数
-- ?DPad:FlxDPadMode : Direction-Pad。パッドモード (方向ボタンの種類)
 例えば、LEFT_RIGHT を指定すると左右ボタンが有効になります
-- ?ActionMode:FlxActionMode : アクションモード
 例えば、A_B_C を指定すると、ABCボタンが有効になります

** createButton : ボタンを生成します [#n9fecc81]
 ボタンのサイズをカスタマイズしたい場合はこの関数を使います
- 引数
-- X:Float : 座標(X)
-- Y:Float : 座標(Y)
-- Width:Float : 幅
-- Height:Float : 高さ
-- Graphic:String : 画像
-- ?Onclick:Void->Void : ボタンを押した時にコールバック関数
- 戻り値:FlxButton

* 使い方 [#t47b2c82]


#geshi(Actionscript3){{

package;

import flixel.FlxG;
import flixel.ui.FlxVirtualPad;
import flixel.util.FlxColor;
import flixel.FlxSprite;
import flixel.FlxState;

class MenuState extends FlxState {

  var _spr:FlxSprite;
  var _pad:FlxVirtualPad;

  /**
   * コンストラクタ
   **/
  override public function create():Void {
    super.create();

    // 操作するスプライト
    _spr = new FlxSprite();
    _spr.makeGraphic(32, 32, FlxColor.WHITE);
    this.add(_spr);

    // 左右移動・ABボタンの仮想ゲームパッドを生成
    _pad = new FlxVirtualPad(LEFT_RIGHT, A_B);
    _pad.alpha = 0.75; // 少し透過する
    this.add(_pad);
  }

  /**
   * 更新
   **/
  override public function update(elapsed:Float):Void {
    super.update(elapsed);

    if(_pad.buttonLeft.pressed) {
      // 左に動く
      _spr.x -= 5;
    }
    else if(_pad.buttonRight.pressed) {
      // 右に動く
      _spr.x += 5;
    }
    if(_pad.buttonA.pressed) {
      // 色変え
      _spr.color = FlxG.random.int(0xFFFFFFFF);
    }
    if(_pad.buttonB.justPressed) {
      // 元の色に戻す
      _spr.color = FlxColor.WHITE;
    }
  }
}

}}

#ref(virtual_pad.png);

実行するとこのように表示され、移動と色変えができます。
実行するとこのように表示され、仮想ゲームパッドからスプライトの移動と色変えができます。