Recorderライブラリ

  • オブジェクトのデータを記録、再生するライブラリ
  • 以下のデータが記録、再生できます
    • プロパティ
    • イベント
    • キーコード
    • BitmapData?

構成

  • main
    • Recorderクラス: プロパティを記録、再生する基本クラス
    • MouseRecorder?クラス: マウス座標を記録する機能を付加したサブクラス
    • KeyRecorder?クラス: 押下したキーコードを記録する機能を付加したサブクラス
    • BitmapRecorder?クラス: BitmapData?を記録する機能を付加したサブクラス
  • eventsフォルダ
  • dataフォルダ
  • commonフォルダ *IRecorder: Recorderクラスのインタフェース(未使用)

コード

使い方

  • Recorderクラス

Recorderクラスはを使用することで、オブジェクトのプロパティの値を毎フレーム記録することができます。 記録したデータは、別のターゲットのプロパティにバインドすることで、再生することができます。 記録、再生時には任意の時間、フレーム数に限定して実行することができます。 記録中、任意の時間をずらして再生するタイムシフト再生ができます。

Recorderクラスは以下の手順で使用できます。

//インスタンスを作成

recorder = new Recorder(stage);

//レコーディングイベントの設定

recorder.addEventListener(RecordingEvent?.STOP_REC, recStopHandler)

//記録するプロパティを設定 //idはバインド時の対応付けに指定するため、一意な文字列を指定

recorder.addRecProperty("mouseX", this, "mouseX");

recorder.addRecProperty("mouseY", this, "mouseY");

//再生時のバインドを設定

//設定したidと、バインドするターゲット、プロパティを設定

recorder.bind("mouseX", arrow, "x");

recorder.bind("mouseY", arrow, "y");

//記録したプロパティに対するイベントを設定

recorder.propertiesmouseX?.addEventListener(PropertyEvent?.CHANGE, changeHandler);

//記録を開始します

recorder.rec();

//記録を停止します

recorder.rec();

//再生します

recorder.play();

//タイムシフト再生をします

recorder.playTimeShift(1);

参考

ロードマップ的なもの

  • 倍速、スロー再生
  • 各データについて、compressionの実装
  • BitmapData?の圧縮機能実装