Figmaで動く！プロトタイプの作り方

# Figmaのプロトタイプとは
UIデザインツールでお馴染みのFigmaですが、デザイン作成だけでなくプロトタイプも作成することもできます。
プロトタイプとは、**画面遷移などの動きの挙動を実際のデザインで再現できる機能のこと**です。
例えば、ボタンを押した後の動きや、スライダーで画面が動く様子を実際のWebサイトと同様に再現できます。

![figma6.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/9cae4ae9-172e-3ac1-97ad-890d8837624a.gif)



これは実際のWebサイトではなく、Figmaで作っています！
Figma上で動かすとより細かくイメージを伝えることができますね:sparkles:

今回はそんなプロトタイプを作成するための手順を紹介します。


# プロトタイプの作り方
プロトタイプの一例を紹介します。
今回は以下の5つの動きを作っていきます。

- ボタンクリックでページ遷移をする
- クリックでモーダルを表示する
- ヘッダーを上部固定にする
- ハンバーガーメニュークリックでメニューを表示する
- スライダーを表示する

## ボタンクリックでページ遷移をする
 「一覧を見る」ボタンをクリックすると別ページに遷移する動きを作成します。
 
1\. トップページの画面とページ遷移後の画面を作成します。
「**プロトタイプ**」タブをクリックします。
次にボタンをホバーすると「**＋マーク**」が表示されます。

![Pasted Graphic 16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/2b546391-4dbd-5d23-aa79-6ccfd056fcb2.png)


2\.「**＋マーク**」を遷移先のページにドラッグします。
ドラッグした際に以下のモーダルが表示されます。
上から「**クリック**」「**次に移動**」を選択します。

![Entrance.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/2204f7ae-7432-e7ff-cee6-5ed8a822a314.png)


3\. プロトタイプを実際に確認してみます。
表示したい画面全体を選択した状態で右上の「**再生ボタン**」をクリックします。

![Pasted Graphic 10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/825ac3e6-34e6-d97d-c392-b36583eec0e6.png)

ページ遷移が確認できました！

![figma1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/c9a21a94-e90f-c26f-de35-07385fd06686.gif)

## クリックでモーダルを表示する
「お問い合わせはこちら」ボタンをクリックするとモーダルが表示される動きを作成します。

1\. トップページの画面とモーダルの画面を作成します。
「**プロトタイプ**」タブをクリックします。
次にボタンをホバーすると「**＋マーク**」が表示されます。

![Pasted Graphic 18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/897bfe3c-a9bf-82ac-e1a7-45c6a6d93acb.png)

2\.「**＋マーク**」をモーダル画面にドラッグします。
ドラッグした際に以下のモーダルが表示されます。
上から「**クリック**」「**オーバーレイを開く**」「**ディゾルブ**」を選択します。

![4000-0000-0000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/ecb312ee-3200-9688-93f8-922e1553192c.png)

3\. 次にモーダルを非表示にする導線を作成します。
画面のContactの白い枠からトップページの画面にドラッグします。
ドラッグした際に以下のモーダルが表示されます。
上から「**クリック**」「**次に移動**」「**ディゾルブ**」を選択します。

![Pasted Graphic 21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/4b1f33c5-465b-9528-677d-9a6106066fd9.png)

4\. プロトタイプを実際に確認してみます。
表示したい画面全体を選択した状態で右上の「**再生ボタン**」をクリックします。

![Pasted Graphic 10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/825ac3e6-34e6-d97d-c392-b36583eec0e6.png)

モーダルが表示されているのが確認できました！

![figma2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/e1fb1b0d-4783-85bf-0b65-b8a1dbcdcbea.gif)

## ヘッダーを上部固定にする
スクロールしたときに、ヘッダーが上部に固定されるようにします。

1\. トップページを作成します。
ヘッダー要素をすべて選択し、グループにします。
「**プロトタイプ**」タブをクリックします。

![Pasted Graphic 26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/6c9fcaae-ca10-4f36-734a-cda5c944f777.png)


2\. ヘッダーをクリックし、「**スクロールの動作**」の「**位置**」をクリックします。
「**追従（上端）で停止**」を選択します。

![Pasted Graphic 25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/ccc1a229-21f6-e7ac-02f3-12ae64fbc168.png)

3\. プロトタイプを実際に確認してみます。
表示したい画面全体を選択した状態で右上の「**再生ボタン**」をクリックします。

![Pasted Graphic 10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/825ac3e6-34e6-d97d-c392-b36583eec0e6.png)

ヘッダーの動きが確認できました！

![figma4.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/7f88da41-4e74-59fd-b6cc-d59ac7929f57.gif)



## ハンバーガーメニュークリックでメニューを表示する
ハンバーガーメニューをクリックし、横からメニューが表示される動きを作成します。

1\. トップページの画面とメニューの画面を作成します。
「**プロトタイプ**」タブをクリックします。
次にハンバーガーメニューをホバーすると「**＋マーク**」が表示されます。

![Pasted Graphic 22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/a60f7063-d3ab-a612-37aa-5bb7f4ec79b4.png)

2\.「**＋マーク**」をメニュー画面にドラッグします。
ドラッグした際に以下のモーダルが表示されます。
上から 「**クリック**」「**オーバーレイを開く**」「**ムーブイン:←**」「**右上**」を選択します。
「**外側をクリックしたときに閉じる**」にチェックを入れると、メニューの外側をクリックしたときにメニューが閉じるようになります。

![Pasted Graphic 23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/32507718-bd7d-1f6a-e8b3-291200eaca74.png)

3\. 次にメニューを閉じる導線を作成します。
メニュー画面の✗ボタンからトップページの画面にドラッグします。
ドラッグした際に以下のモーダルが表示されます。
上から「**クリック**」「**オーバーレイを閉じる**」を選択します。

![Pasted Graphic 24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/eed60971-62ca-f733-9982-9e5ea2808268.png)

4\. プロトタイプを実際に確認してみます。
表示したい画面全体を選択した状態で右上の「**再生ボタン**」をクリックします。

![Pasted Graphic 10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/825ac3e6-34e6-d97d-c392-b36583eec0e6.png)

メニューの動きが確認できました！

![figma3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/cb755b2e-af58-cb6d-84fd-6372dfee66ab.gif)


## スライダーを表示する
トップページのスライダーが自動で回り続ける動きを作成します。

1\. トップページの画面とスライダー部分の画像を作成します。
スライダー部分の画像はすべての画像が表示されるまでを1セットとし、2セット分を横一列に並べ、グループ化します。
グループ化した画像をトップページのスライダー部分に差し込みます。

![Pasted Graphic 27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/2e9db426-59d7-78dc-151c-fb69d33bd881.png)

2\. 先ほど作成したトップページをコピーし、スライダーで表示される画面を作成します。
作るトップページ数は、スライダーで流れる画像＋1ページ分です。
本記事の場合だとスライダーで流れる画像は3枚なので計4ページのトップページを作成しています。

例：
1ページ目：1番目に表示される画像
2ページ目：2番目に表示される画像
3ページ目：3番目に表示される画像
**4ページ目：1番目に表示される画像**

:::note warn
4ページ目は**スライダーが1周して1ページ目に戻ってくる**ため、上記のような設定にしています。
最後のページは必ず**2セット目の1枚目**の画像にしてください。
また、スライダーによってボタンの位置が変化する場合はそちらも設定します。（下記の画像の様に）
:::

![Pasted Graphic 28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/1d8a9fd9-f070-7970-eaae-85adc0f7005f.png)

3\.「**プロトタイプ**」タブをクリックします。
次に1番目のトップページをホバーすると「**＋マーク**」が表示されます。

![Pasted Graphic 31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/b4d1f7b0-f706-0e6e-4553-d7292586b7a2.png)


4\.「**＋マーク**」を2番目のトップページにドラッグします。
ドラッグした際に以下のモーダルが表示されます。
上から 「**アフターディレイ：1500ms**」「**次に移動**」「**スマートアニメート**」「**イーズアウト：600ms**」を選択します。

:::note info
「アフターディレイ」と「スマートアニメート」で設定している秒数は、スライダーが切り替わるまでに掛かる時間になります。
ここはお好みの時間を入力してください。
:::

![Pasted Graphic 29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/466a696e-d246-18e2-4199-8724bccaa0c9.png)

5\.2番目、3番目も同様にページを繋げていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/ebc878de-25e0-cad6-1bbb-ce1420fdf5ba.png)

6\.最後のページは1番目のページに繋げます。
モーダルには以下のように設定します。
上から 「**アフターディレイ：1ms**」「**次に移動**」「**即時**」を選択します。

![Pasted Graphic 32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/bd9ed64e-97f8-37cb-aaf9-8c50705c3ba6.png)

7\.プロトタイプを実際に確認してみます。
表示したい画面全体を選択した状態で右上の「**再生ボタン**」をクリックします。

![Pasted Graphic 10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/825ac3e6-34e6-d97d-c392-b36583eec0e6.png)

スライダーの動きが確認できました！

![figma5.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621341/1aefe722-cca0-07e3-8406-4db09871b438.gif)

# まとめ
本記事では、プロトタイプの基礎的な作り方についてまとめました。
プロトタイプでは様々な動きが再現できます。
今回記事を作成するために色々と調べながらまとめていましたが、Figmaってこんなことできるんだ！と思うことが度々あり、今まで以上にFigmaに対して興味を持つようになりました。
今後もFigmaをうまく使っていきたいです:relaxed:
本記事を読んでみて、Figmaを学ぶ上で参考になりましたら幸いです。