見出し画像

Xdでルーレットを再現する(Xd)

今回の記事では、Xdプロトタイプ上でのルーレットの再現方法を記載します。

なお、Figmaでの方法は以下の記事に記載しています。


実際の挙動

『開始』ボタンを押下するとルーレットが回転し、『停止』ボタンを押下するとゆっくりと停止します。
また、『もう一度』ボタンを押下すると回転が再開します。

ルーレットの作成方法

画面の作成

①任意のマスを入れたルーレットとマス目を指す▼、回転を開始させるトリガーとなるボタンを作成します。

②先ほどのアートボードを複製します(複製後のアートボードは回転中のものになります)。
複製したアートボードのボタンは停止用になるため、下画像では『停止』としています。
また、わかりやすいように『回転中』と表示しています。

③先ほどの回転中アートボードを複製し、1マス分ルーレットを回します。

下画像では12マスあるので、【360÷12】=30度分回しています。

④ルーレットのマス目分、先ほどの1マス分回す複製を繰り返します(下画像では12マスあるので、回転中のアートボード数は12になります)。
これでルーレット1回転、360度分の画面が作成できました。
これは回転中の画面になります。

⑤アニメーション調整用に、回転中の一番最初のアートボードを複製します。

複製したアートボード内のルーレットは、下画像のように360度回転している状態にします。

⑥アニメーション調整用含めた、回転中のアートボードを複製します。
複製したアートボードは、『停止』ボタンを押してからルーレットが停止するまでの、停止中の画面になります。
停止中の一番最初のアートボードは使用しないため、削除します。

⑦先ほど複製したすべてのアートボードの、『回転中』の文字を『停止中』に変更します。

⑧停止中のアートボードを複製します。
複製したアートボードは、停止した画面になります。

⑦先ほど複製したアートボード内、『回転中』の文字を停止したマスの内容に変更します。
また、『停止』のボタンを『再開』に変更します

これで画面自体の作成はほぼ完了です。
次に、プロトタイプの設定に進みます。

プロトタイプの設定

①最初のアートボードの『開始』ボタンから、回転中の最初のアートボードへ、『タップ』トリガーのプロトタイプをつなぎます。

②アニメーション調整用以外の回転中のアートボードから、1マス回したアートボードへ、『時間(ディレイは0秒)』トリガーで『自動アニメーション(デュレーションは1マス分の回転の任意の秒数)』を設定したプロトタイプをつなげます。
この際、回転中の最後のアートボードは最初へと繋がず、アニメーション調整用のアートボードへと繋ぎます

③アニメーション調整用のアートボードから、回転中の一番最初のアートボードへ、『時間(ディレイは0秒)』トリガーで『トランジション』を設定したプロトタイプをつなげます。

この段階で問題がなければ、プレビューでは下GIF画像のようにルーレットが回転します。

④次に、回転中の『停止』ボタンから、停止中へのアートボードへと、『タップ』トリガーで『自動アニメーション(デュレーションは停止までの任意の秒数)』を設定したプロトタイプをつなぎます。
この際つなげる先のアートボードは任意の数、マスをずらします(下画像ではそれぞれ3マスずつずらしています)。

⑤停止中のアートボードから、停止したアートボードへと、『時間(ディレイは0秒)』トリガーで『トランジション』を設定したプロトタイプをつなぎます。
この際のつなげる先のアートボードは、同じマスを指している画面になります。

⑥停止したアートボードから、回転中のアートボードへと、『タップ』トリガーで『トランジション』を設定したプロトタイプへとつなぎます。
この際のつなげる先のアートボードも先ほど同様、同じマスを指している画面になります。

⑦この時点でアニメーションを確認すれば、一応アニメーションとして機能します。
ですが、『停止』を押下した際に、巻き戻るように逆回転する場合があります。

これは回転中、マスをずらしてプロトタイプをつなげた先が一周(360度)より回転している部分(下画像では3マスずつずらしているので、停止中の右2画面)を▼が指している時に、『停止』ボタンを押下すると発生します。

最後に、この逆回転してしまう部分の修正をします。

逆回転の修正

①逆回転が発生してしまう部分のプロトタイプ先のアートボードを複製し、回転中の『停止』ボタンからのプロトタイプをつなぎなおします。
この際、プロトタイプは『タップ』トリガーで、『トランジション』を設定します。

②複製したアートボード内のルーレットの角度を、ずらしたマス目分の鋭角の和(下画像では【(360÷12)×3】=90度)分、『-』で引きます。
プロトタイプをつないでいる回転中アートボードと同じマス目の状態で、角度の部分が『-○○°』になっていればOKです。

③複製したアートボードから停止中のアートボードへと、『時間(ディレイは0秒)』トリガーで『自動アニメーション(デュレーションは1マス分の回転の任意の秒数)』を設定したプロトタイプをつなげます。

④プレビューを確認し、逆回転しないことを確認すれば修正完了です。

まとめ

以上、Xdプロトタイプ上でのルーレットの再現方法でした。

この記事が気に入ったらサポートをしてみませんか?