Scratch ライブラリ(カルーセル・セレクタ/横)
グルグル回るカルーセル方式のセレクタです。といっても、よく Web サービスとかであるようなスライド式ではなく、メリーゴーランドのように回る形式です。回っているのが見えるとより見栄えが良いかな、と思い。
さらに、コスチュームを用意するだけで自動的に色々ケアしてくれるようにしました。ある意味、ノーコードでいけます。
カルーセル・セレクタ/横
プロジェクト
ここにあります。
ライブラリ概要
コスチュームを決まった命名ルールに従って用意するだけで、以下の事をしてくれます。
- パラメータ数やパラメータごとの項目数を自動判別、自動レイアウト
- アニメーションの自動判別、自動アニメーション
最終的な選択番号は、「Settings Parameter Values」 という名のリストに格納されるため、それを参照して選択された項目に従った動作をさせる、というのが基本的な利用方法です。
使い方
基本
以下の命名ルールに従ってコスチュームを用意します。
-
パラメータ名は 1-T のような名前にする必要があります。 1 はパラメータ ID 番号を意味し、T はタイトルを意味します。パラメータID番号は、パラメータが複数ある場合にパラメータを区別するために使用されます。
-
項目には、パラメータ ID 1 に対して 1-1、1-2、...、1-n のような名前を付ける必要があります。項目に 6 つの選択肢がある場合、n は 6 になります。 2 番目のパラメータに対してパラメーター ID は 2 となり、ID 2 のオプションは 2-1、2-2、...、2-m となります。 m はパラメータ ID 2 のオプションの数を意味します。この場合、n は m と異なっていても構いません。
-
オプションでアニメーションさせたい場合は、1-1-0 などの名前でコスチュームを用意します。アニメーションはコスチューム名 0~7 で行われますが、この個数は固定(8 個)です。例えばID/オプションが 1-1 のアニメを作りたい場合、1-1-0 から 1-1-7 までの計 8 つのコスチュームを用意する必要があります。
以下のプロジェクト(再掲)内の実際のコスチュームを参照すると、より理解が深まるでしょう。
各種情報
変数・リスト
In: 他スプライト管理の値を参照/Out: 本スプライトで設定
リスト名 | In/Out | 概要 |
---|---|---|
Settings Parameter Values |
Out | パラメータごとの選択項目番号 |
イベント
特になし。
コスチューム
パラメータ名や項目のコスチュームを用意すること。
拡張ポイント
特になし。
コスチュームだけで実行するための判別方法として、以下のような技術的トリックを使いました。これはこれで Tips として別記事にしておこうかと。
- 「コスチューム名」を参照できるため、「コスチューム変更」した後に「コスチューム名が期待した名前になっているか」をチェック。
- なっていれば、そのコスチュームが存在している。
- なっていなければ、そのコスチュームは存在していない。
この方法で、パラメータ数やパラメータごとの項目数、アニメーションが設定されているか、を確認し、それを元に動作するようにしています。