Upgrade-4-0-0 の変更点


[[FrontPage]]
* Ver.3 から Ver.4 への移行ガイド [#rd7b2750]

* 概要 [#wdeb4542]
HaxeFlixelは Ver.4 でAPIが一部変わりました。Ver.4での目玉となる機能は以下のものです

- APIの改善
- 描画システムのリファクタリング
- ゲームパッドAPIをかなり改善
- HTML5対応
- OpenFLの最新バージョンへの適合
- デバッガコンソールでの補完機能 (※hscriptのインストールが必要)
- 新しいデモを20個追加

詳しくは「[[HaxeFlixel 4.0.0>http://haxeflixel.com/blog/03-HaxeFlixel-4-0-0/]]」のページで確認できます。

このページでは Ver.3 から Ver.4 へ移行するポイントをまとめています。
なお、移行ガイドの詳細はこちらのページで確認できます
なお、より詳しい移行ガイドは[[Upgrade Guide 4.0.0>http://haxeflixel.com/documentation/upgrade-guide-4-0-0/]]から見れます

-[[Upgrade Guide 4.0.0>http://haxeflixel.com/documentation/upgrade-guide-4-0-0/]]
----

** FlxBasic.update() の引数追加 [#c2e23555]
FlxBasic.update() の引数に、前フレームからの経過時間(elapsed)が追加されました。これにより FlxBasic を継承している(overrideしている)部分をすべて修正する必要があります

#geshi(ActionScript){{
  override public function update(elapsed:Float):Void
  {
    super.update(elapsed);
  }
}}
** FlxRandom [#f8faa1c1]
乱数を取得する FlxRandom は、flixel.math.FlxRandom に移動しました。また、乱数を取得する場合には FlxG 経由で行う用になっており、関数名も一部変更されています

#geshi(ActionScript){{
  // 範囲を指定して乱数を取得する
  var f = FlxG.random.float(0, 100); // 0.0~100.0の範囲で乱数を取得する (以前は FlxRandom.floatRanged)
  var i = FlxG.random.int(0, 255); // 0~255の範囲で乱数を取得する(以前は FlxRandom.intRanged)
}}

** FlxColor [#z395eda7]
色定数の一部(CHARCOALなど)が削除されています

** FlxText [#ve4e3724]
テキストのアウトラインを有効にする定数が、FlxTextBorderStyle に移行しています。

#geshi(ActionScript){{
    var txt:FlxText;
    //txt.setFormat(null, 24, FlxColor.WHITE, "center", FlxText.BORDER_OUTLINE, FlxColor.BLACK);
    txt.setFormat(null, 24, FlxColor.WHITE, "center", FlxTextBorderStyle.OUTLINE, FlxColor.BLACK);
}}

** FlxTimer [#m86f9b53]
コンストラクタに引数を渡すことができなくなっています
#geshi(ActionScript){{
//new FlxTimer(3, function(timer:FlxTimer) {
  new FlxTimer().start(3, function(timer:FlxTimer) {
    // 3秒後にコールバックする何かの処理
  });
}}

** FlxAngle [#r29efd46]
flixel.util.FlxAngle から flixel.math.FlxAngle に移動しています

** FlxTypedGroup [#rf60088d]
flixel.group.FlxGroup パッケージに移動しています。そのため、import文を

#geshi(ActionScript){{
// Ver. 3.x.x
import flixel.group.FlxTypedGroup;
}}

から

#geshi(ActionScript){{
// Ver. 4.x.x
import flixel.group.FlxGroup.FlxTypedGroup;
}}

に書き換える必要があります