Figmaのバリアブルには、デザイン属性または保存されている状態を表す値が格納されます。バリアブルのタイプには、文字列値、数値、色値、ブール値があります。
バリアブルの値は、プロトタイプ作成アクションを使用して設定および変更できます。いくつかのシンプルなフレームとインタラクションのみを使用して、ユーザーの選択内容に基づいて動的に変化する没入型のプロトタイプを作成できます。これは、プロトタイプアクションを使用して次の操作を実行できることを意味します。
- 文字列バリアブルを使用して、テキストコンテンツを更新する
- 数値バリアブルを使用して、オブジェクトの寸法、角の丸み、またはオートレイアウトプロパティを変更する
- ブーリアンバリアブルを使用して、レイヤーの表示を切り替える
プロトタイプでのバリアブルの使用を開始するには、バリアブルをセットアップし、次に[バリアブルを設定]アクションを使用してバリアブルの値を変更または修正します。
バリアブルとプロトタイプを一緒に使用する方法を理解したら、そのパワーをさらに活用できるいくつかのより高度な機能を試してみましょう。
- 式: 基本的な演算を使用してバリアブルを操作します。これにより、柔軟な値を使用して、より高度なプロトタイプを作成できます
- 複数のアクションと条件: アクションを実行する前にif/elseステートメントを使用して条件が満たされているかどうかをチェックし、単一のトリガーでアクションを無制限にスタックします
使ってみる
もっと多くの練習が必要ですか? 高度なプロトタイプ作成のプレイグラウンドファイルをご覧ください。
プロトタイプでバリアブルを使用する方法の例をさらに探していますか? より高度なプロトタイプの例をご覧ください。
バリアブルをセットアップする
バリアブルを使用したプロトタイプを作成する前に、次の操作を行う必要があります。
- 自分のバリアブルを作成: バリアブルコレクションの作成および整理方法はこちら
- バリアブルを適用: バリアブルをテキストコンテンツ、オブジェクトの寸法、レイヤー表示などに適用する方法はこちら
バリアブル値を設定する
バリアブルを作成し、デザイン内で適用したら、プロトタイプでバリアブルを使用できるようになります。
それぞれのプロトタイプインタラクションには、トリガー(プロトタイプの処理を進行するきっかけとなるもの)と1つまたは複数のアクション(トリガーの結果として起こるもの)があります。
[バリアブルを設定]アクションを使用すると、プロトタイプトリガーの結果としてバリアブルの値を設定または変更できます。
[バリアブルを設定]アクションをプロトタイプインタラクションで使用するには:
- プロトタイプインタラクションを作成します。
- [インタラクション]モーダルに移動し、ドロップダウンメニューからトリガーを選択します。
- [アクション]ドロップダウンメニューから、[バリアブルを設定]を選択します。
- [ターゲット]ドロップダウンメニューから、新しい値を設定するバリアブルを選択します。
-
[値]フィールドにバリアブルの新しい値を入力します。新しい値のタイプは、変更するバリアブルのタイプと一致する必要があります。たとえば、数値バリアブルを選択した場合、新しい値は数値である必要があります。
- 文字列値: テキスト文字列リテラルを(引用符で囲んで)入力するか、選択パネルから任意の文字列バリアブルを選択します
- 数値: 任意の数値を入力するか、選択パネルから任意の数値バリアブルを選択します
-
ブール値:
trueまたはfalseを入力するか、選択パネルから任意のブーリアンバリアブルを選択します - 色値: 任意のHexコードを入力するか、カラーピッカーからHexコードを選択します
- プロトタイプを再生してインタラクションをテストします。
注:
バリアブルで複数のモードを使用していますか? バリアブル値を特定のモード値に設定する方法
アドバイス
式を使用すると、演算を使用してバリアブルを操作できます。たとえば、数値バリアブルに対して基本的な演算を実行したり、複数の文字列バリアブルを1つに結合したり、ブール式を使用したりできます。
使ってみる
「シェイプ」というタイトルのバリアブルのコレクションを作成しましょう。このコレクションには、シェイプの名前を表す1つの文字列バリアブルを含めます。
- キャンバス上のすべてのアイテムを選択解除し、右サイドバーの[ローカルバリアブル]セクションの[バリアブルを開く]をクリックします。
- [バリアブルを作成]をクリックし、[文字列]を選択します。
- [名前]列に「shapeName」と入力します。
-
[値]列に「円」と入力します。
この段階でバリアブルshapeNameをデザインに適用できます。この例のために、2つのシェイプ(円と正方形)と2つのテキストレイヤーが配置されたフレームを含むシンプルなデザインが用意されています。ここで、バリアブルshapeNameを下のテキストレイヤーにバインドして、選択されたシェイプに基づいて値が変化するようにします。
- 以下に示すように、デザインを作成し直します。楕円オブジェクト、長方形オブジェクト、および2つのテキストレイヤーをフレームに追加します。最初のテキストレイヤーのコンテンツとして、「You picked:」と入力します。
- フレーム上の下のテキストレイヤーをクリックして選択します。
- 右サイドバーの[デザイン]タブで、[テキスト]セクションの[バリアブルを適用]をクリックします。
- バリアブル選択パネルからバリアブル
shapeNameを選択し、テキストコンテンツに適用します。
次に、[バリアブルを設定]アクションを使用してインタラクションを追加しましょう。
- 楕円オブジェクトを選択します。
- 右サイドバーで、[プロトタイプ]タブに切り替えます。新しいインタラクションを追加するために、[インタラクション]セクションのプラス記号をクリックします。
- [インタラクション]モーダルで、[タップ]/[クリック]トリガーと[バリアブルを設定]アクションを含むインタラクションを作成します。
-
[ターゲット]ドロップダウンメニューからバリアブル
shapeNameを選択します。[値]フィールドで、新しい値を「circle」に設定します。 - 長方形オブジェクトについて手順1~4を繰り返します。今回は、バリアブル
shapeNameを「square」に設定します。
これで、プロトタイプを再生してテストする準備が整いました。各シェイプオブジェクトをクリックすると、テキストレイヤーが新しいバリアブル値に基づいて自動的に更新されます。
バリアブルとコンポーネントを使用してプロトタイプを作成する
基本を学んだ後は、プロトタイプでバリアブルとコンポーネントを一緒に使い始めることができます。
バリアブルをコンポーネントに適用し、プロトタイプ内でバリアブルの値を変更するとコンポーネントが自動的に更新されるようにしていましてください。バリアブル値の変更は、その同じバリアブルに結び付けられた他の要素も更新します。
バリアブルの値を変更する方法は次のとおりです。
- [バリアブルを設定]アクションを使用する
- インタラクティブコンポーネントで[次に変更]アクションを使用する
- [バリアブルモードを設定]アクションを使用する
例
インタラクティブボタンコンポーネントセットには、デフォルトとホバーの状態があります。コンポーネントは[次に変更]アクションを使用します。デフォルトバリアントにカーソルを合わせたときにホバーバリアントに切り替わり、その逆も適用されるためです。
ブール型のhoverStateバリアブルは、バリアントのインスタンスと別のオーバーレイレイヤーの表示の両方に適用されます。
プロトタイプでデフォルトバリアントにカーソルを合わせるとき
- インスタンスが
hoverバリアントに更新されます -
hoverStateブールバリアブルは、falseからtrueに更新されます - 画像レイヤーが表示されます
似た例で練習しますか? 下の「試してみる」セクションをご覧ください。
バリアブルを適用する場所によって、プロトタイプでの変更範囲が決まります。
| 次にバリアブルを適用: | プロトタイプ作成のとき: |
| コンポーネントインスタンスのバリアントプロパティ | インスタンスのバリアントを更新するため、バリアブルの値を変更してください。 |
| コンポーネントプロパティ | コンポーネントの全てのインスタンスを更新するため、バリアブルの値を変更してください。 |
コンポーネントとバリアントのプロパティにバリアブルを適用する方法を詳しく見る。
試してみる: 例1
-
インタラクティブなコンポーネントセットを作成
- 「true」と「false」の値を持つバリアントプロパティ「クリック」を使用するボタンコンポーネントを作成します。
- 「false」バリアントで、クリック時トリガーと次に変更アクションを使用してプロトタイプのインタラクションを追加します。「false」バリアントがクリックされると、「true」バリアントに切り替わります。
- インタラクティブコンポーネントセットのバリアントのインスタンスをフレームに配置します。
- フレームに「false」バリアントを追加します。
- バリアブルをインタラクティブコンポーネントインスタンスに割り当てます。バリアブルの値はバリアントプロパティ値と一致している必要があります。
- デフォルトで「false」の値を持つブール型の
circleVisibilityバリアブルを作成します。 - ボタンのインスタンスを選択します。
- 右側のサイドバーから、クリックしたバリアントのプロパティにマウスカーソルを合わせます。
- [バリアブルを適用]を選択します。
- クリックして
circleVisibilityバリアブルを選択し、プロパティにバインドします。
- デフォルトで「false」の値を持つブール型の
- 同じバリアブルをデザイン内の別のレイヤーに割り当てます。
- 楕円オブジェクトをフレームに追加します。
- 右サイドバーの[外観]セクションから、[非表示]アイコンを右クリックします。
-
circleVisibilityバリアブルを選択して、楕円レイヤーの表示にブールバリアブルを適用します。
- プロトタイプを再生してインタラクションをテストします。インタラクションがトリガーされ、コンポーネントが変更されると、バリアブルの値も変更されます。これは、他の値にバインドされた同じバリアブルがある場合はそれらも更新されることを意味します。
試してみる: 例2
- 少なくとも2つのバリアントを使って、コンポーネントセットを作成します。
- 「円」と「四角」の値がある「シェイプ」のバリアントプロパティを持つコンポーネントセットを作成します。
- 「円」と「四角」の値がある「シェイプ」のバリアントプロパティを持つコンポーネントセットを作成します。
- バリアントのインスタンスをフレームに配置します。
- インスタンスにバリアブルを割り当てます。バリアブルの値はバリアントプロパティ値と一致している必要があります。
- デフォルトで「円」の値に設定された
shapeTypeバリアブルを作成します。 - インスタンスをクリックして選択します。
- 右サイドバーで、バリアントプロパティの右側にマウスカーソルを合わせ、[バリアブルの割り当て]をクリックします。
- プロパティにバインドするバリアブルを選択します。
- デフォルトで「円」の値に設定された
- フレーム内の任意のオブジェクトに対し、[バリアブルを設定]アクションを使用するインタラクションを作成します。バリアブルの値を、未使用のバリアントプロパティの値と一致するように変更します。未使用のバリアントプロパティの値に合わせてバリアブルの値を変更します。
- オブジェクトにプロトタイプインタラクションを追加します。クリック/タップ時のトリガーとバリアブルを設定のアクションを使用します。
shapeTypeバリアブルの値を「正方形」に設定します。
- オブジェクトにプロトタイプインタラクションを追加します。クリック/タップ時のトリガーとバリアブルを設定のアクションを使用します。
- プロトタイプを再生してインタラクションをテストします。インタラクションがトリガーされ、バリアブルが変更されると、バリアントも更新されます。