ステートマネージャー (State Manager)¶
Kanzi アプリケーションで異なる状態を作成するには、State Manager を使用します。
たとえば、ユーザーがボタンを選択した、押した、押し続けた、または離した時など、各種状態におけるボタンの見た目と動作を定義することができます。Kanzi はそのアニメーションシステムを使用して、状態間の遷移をアニメーション化します。アニメーションシステム (Animation System) を参照してください。
各ステートマネージャーは以下で構成されます:
ステートグループ。 ステートグループは、ステートを含み、ステートグループ内のコントローラープロパティとステート間の遷移を定義します。一般的な遷移は、2つのステートのプロパティ値間の期間と補間パスを定義します。すべてのプロパティに対して一般的なガイドラインを使用して遷移を定義することができ、指定された各プロパティに対する補間を使用するか、アニメーションアイテムを使用することができます。
ステート。 各ステートには、ステートマネージャーを割り当てたノードの外観と動作を定義するプロパティのコレクションが含まれています。各ステートグループでは、一度にアクティブにできるステートは1つだけです。ステートは、enabledプロパティを使用してコントロール入力を有効または無効にすることでインタラクションを定義したり、トリガー設定でトリガーの条件としてステートを設定したり、各ステートに対してトリガーとアクションを明示的に定義することもできます。
ステートオブジェクト。 ステートオブジェクトは、特定のステートにおけるノードのプロパティを定義します。例えば、Button 2D ノードにステートマネージャーを割り当てることができ、その中にボタンの外観を定義する Model ノードが含まれています。ステートオブジェクトは、Model ノードに設定されたメッシュのプロパティを Target Object Path プロパティを使用して設定します。例えば、./Mesh。
例えば、ボタンのステートマネージャーは、ボタンが押された、ボタンが離された、ボタンにホバーした、の3つのステートグループを含むことができます。各ステートグループには、ステートオブジェクトを通じて、ボタンがそのステートの1つにあるときの外観と動作、およびステート間の遷移を定義する有効と無効のステートが含まれています。
これらの方法で状態間の変更を定義できます。
コントローラープロパティをステートグループに設定し、各ステートに対してそのプロパティの値を設定します。これらは、Button ノードの Is Down プロパティのような暗黙のプロパティである場合があります。ステートは、ノードの固有のロジックの一部として、または指定された Set Property アクションやアニメーションとしてプロパティが変更されると変化します。コントローラープロパティを使用してステートを設定する を参照してください。
State Manager アクション Go to State、Next State、および Previous State を使用します。State Manager アクションとコントローラープロパティを使用する場合、コントローラープロパティが変更されると、以前に設定された状態が上書きされることに注意してください。ステートマネージャーアクションを使用してステートを設定する を参照してください。
これらのチュートリアルのいずれかを完了して、ステートマネージャー (State Managers) の使用方法を学びましょう。
トグルボタンを作成します。チュートリアル: トグルボタンの作成 を参照してください。
Is Down プロパティでその状態を制御するボタンを作成します。チュートリアル: ボタンを作成する を参照してください。
カスタムプロパティで制御するターンインジケーターを作成します。チュートリアル: クラスターインジケーターを作成する を参照してください。
イージング関数¶
UI要素をよりリアルにするために、イージング関数を使用します。現実の物体は決して即座に開始または停止しないため、適切なイージング関数を使用することで、より快適なユーザー体験を作り出すことができます。
ステート遷移の使用 を参照してください。
イージング関数の画像にカーソルを合わせると、それが作成するアニメーションのタイプが表示されます。
関連項目¶
ステートマネージャー (State Managers) を使用する場合
アニメーションシステム (Animation System)