SpriterHaxeEngine

Spriter

SpriterHaxeFlixelに組み込む方法

このページではSpriterHaxeFlixel上で表示する方法を解説しています。

SpriterHaxeEngineのインストール

以下のコマンドで表示に必要なライブラリをインストールします

haxelib install SpriterHaxeEngine

Project.xml にライブラリを指定する

  <!-- SpriterHaxeEngineを使えるようにする -->
  <haxelib name="SpriterHaxeEngine" />

サンプル

以下は公式サンプルのGrey Guyを表示するサンプルです

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君がマウスの位置に表示されます。

greyguy.png

参考ページ