Recorderライブラリ
- オブジェクトのデータを記録、再生するライブラリ
- 以下のデータが記録、再生できます
- プロパティ
- イベント
- キーコード
- BitmapData?
構成
- main
- Recorderクラス: プロパティを記録、再生する基本クラス
- MouseRecorder?クラス: マウス座標を記録する機能を付加したサブクラス
- KeyRecorder?クラス: 押下したキーコードを記録する機能を付加したサブクラス
- BitmapRecorder?クラス: BitmapData?を記録する機能を付加したサブクラス
- eventsフォルダ
- RecordingEvent?: Recorderクラスの記録、再生イベントを定義するクラス
- RecordingEventDispatcher?: Recorderクラスのイベントを管理するクラス
- PropertyEvent?: 記録したプロパティデータのイベントを定義するクラス
- PropertyEventDispatcher?: 記録したプロパティデータのイベントを管理するクラス
- dataフォルダ
- PropertyRecData?: オブジェクトのプロパティデータを管理するクラス
- EventRecData?: Eventクラスから継承したイベントデータを管理するクラス
- KeyRecData?: キーコードのデータを管理するクラス
- BitmapRecData?: BitmapData?を管理するクラス
- 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);
参考
- SparkProject?勉強会 #04で発表させていただきました。
ロードマップ的なもの
- 倍速、スロー再生
- 各データについて、compressionの実装
- BitmapData?の圧縮機能実装

