SpriterHaxeEngine の変更点
[[Spriter]]
* [[Spriter]]をHaxeFlixelに組み込む方法 [#cc913ade]
このページでは[[Spriter]]をHaxeFlixel上で表示する方法を解説しています。
** SpriterHaxeEngineのインストール [#j84a7dca]
以下のコマンドで表示に必要なライブラリをインストールします
haxelib install SpriterHaxeEngine
** Project.xml にライブラリを指定する [#xca0fedb]
#geshi(xml){{
<!-- SpriterHaxeEngineを使えるようにする -->
<haxelib name="SpriterHaxeEngine" />
}}
** サンプル [#r89221bb]
以下は公式サンプルのGrey Guyを表示するサンプルです
#geshi(ActionScript){{
package;
import flixel.FlxG;
import flixel.FlxSprite;
import flixel.FlxState;
import flash.display.Sprite;
import flash.display.Bitmap;
import flash.display.PixelSnapping;
import spriter.engine.Spriter;
import spriter.engine.SpriterEngine;
import spriter.library.BitmapLibrary;
import openfl.Assets;
/**
* A FlxState which can be used for the game's menu.
*/
class MenuState extends FlxState {
// Spriter再生エンジン
var _engine:SpriterEngine;
// Flixelのスプライト
var _spr:FlxSprite;
/**
* シーンの生成
*/
override public function create():Void {
super.create();
// Flixelのスプライトを生成
_spr = new FlxSprite();
this.add(_spr);
// 画面サイズの画像を作る
_spr.makeGraphic(FlxG.width, FlxG.height);
// Bitmapを作る
var spriterRoot:Bitmap = new Bitmap(_spr.pixels, PixelSnapping.AUTO, true);
// Spriter描画ライブラリの生成
var lib:BitmapLibrary = new BitmapLibrary('assets/GreyGuy/', _spr.pixels);
// Spriterエンジンを生成
_engine = new SpriterEngine(openfl.Assets.getText("assets/GreyGuy/player.scml"), lib, null);
// 描画オフセットを設定
_engine.addEntity("entityName", 130, 330);
}
/**
* 更新
*/
override public function update():Void {
super.update();
// アニメーション更新
_engine.update();
// マウス座標に動かしてみる
_spr.x = FlxG.mouse.x;
_spr.y = FlxG.mouse.y;
}
}
}}
実行するとGrey Guy君がマウスの位置に表示されます。
#ref(greyguy.png);
** 参考ページ [#df2557b9]
- [[https://github.com/loudoweb/SpriterHaxeEngine]]
- [[https://github.com/loudoweb/Spriter-Example]]