Tween

サンプルのディレクトリ

/cri/pc/samples/criatomex/tween

サンプルの解説

Tweenを使ってプレーヤーのボリューム、AISACコントロール値を指定した時間で変更させるサンプルです。
Tweenについて

Tweenは「特定のパラメーター」を「指定した時間」で「目的の値に変化させる」ためのモジュールです。
AtomExプレーヤーに対し「Tween」をアタッチする(取り付ける)ことで、ボリュームやAISACコントロール値などのパラメーターを、指定した時間をかけて徐々に変化させることが可能です。
Tweenのセットアップ

Tweenで操作するパラメーターは、Tweenハンドル作成時に指定します。
パラメーターの指定は、大きく分けて以下の2パターンがあります。
ボリュームやパン、ピッチといった一般的なパラメーターを制御する場合、 CriAtomExTweenConfig 構造体の parameter_type に CRIATOMEX_PARAMETER_TYPE_BASIC を設定し、 id.parameter_id に制御したいパラメーターのIDを指定します。
Tweenを使用してAISACコントロール値を制御したい場合、 CriAtomExTweenConfig 構造体の parameter_type に CRIATOMEX_PARAMETER_TYPE_AISAC を設定し、 id.aisac_control_id に制御したいAISACコントロールIDを指定します。
    /* ボリューム操作用にTweenを作成 */
    criAtomExTween_SetDefaultConfig(&tween_config);
    tween_config.parameter_type = CRIATOMEX_PARAMETER_TYPE_BASIC;
    tween_config.id.parameter_id = CRIATOMEX_PARAMETER_ID_VOLUME;
    app_obj->volume_tween = criAtomExTween_Create(&tween_config, NULL, 0);

    /* AISAC操作用にTweenを作成 */
    criAtomExTween_SetDefaultConfig(&tween_config);
    tween_config.parameter_type = CRIATOMEX_PARAMETER_TYPE_AISAC;
    tween_config.id.aisac_control_id = CRI_ATOMCUESHEET_AISACCONTROL_ANY;
    app_obj->aisac_tween = criAtomExTween_Create(&tween_config, NULL, 0);

    /* Tweenのアタッチ */
    criAtomExPlayer_AttachTween(app_obj->player, app_obj->volume_tween);
    criAtomExPlayer_AttachTween(app_obj->player, app_obj->aisac_tween);
備考:
CRIATOMEX_PARAMETER_TYPE_BASIC 指定時に操作可能なパラメーターの一覧については、 リファレンスの CriAtomExParameterId を参照してください。
パラメーターの変更

criAtomExTween_MoveTo 関数に変更時間と目標値を設定することで、 Tween作成時に指定したパラメーターが指定された時間をかけて目標値に変更されます。
        /* ボリュームの値を1000ミリ秒かけて0に変更するよう指示 */
        criAtomExTween_MoveTo(app_obj->volume_tween, 1000, 0.0f);

        /* AISACコントール値を3000ミリ秒かけて1に変更するよう指示 */
        criAtomExTween_MoveTo(app_obj->aisac_tween, 3000, 1.0f);
備考:
criAtomExTween_MoveTo 関数を実行してパラメーターの変更を開始した後、 パラメーターが目標値に達する前に再度 criAtomExTween_MoveTo 関数を実行した場合、 その時点の値から新たな目標値への変化がなめらかに開始されます。
例えば、 criAtomExTween_MoveTo(tween, 1000, 1.0f); を実行した後、 パラメーター値が 0.5 に変化した時点で criAtomExTween_MoveTo(tween, 1000, 0.0f); を実行した場合、 1000ミリ秒をかけてパラメーター値が 0.5 から 0.0 へ徐々に変化します。

CRI Middleware logo Copyright (c) 2006-2018 CRI Middleware Co., Ltd.