0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Scratch ライブラリ(カルーセル・セレクタ/横)

Posted at

Scratch ライブラリ(カルーセル・セレクタ/横)

グルグル回るカルーセル方式のセレクタです。といっても、よく Web サービスとかであるようなスライド式ではなく、メリーゴーランドのように回る形式です。回っているのが見えるとより見栄えが良いかな、と思い。

さらに、コスチュームを用意するだけで自動的に色々ケアしてくれるようにしました。ある意味、ノーコードでいけます。

カルーセル・セレクタ/横

プロジェクト

ここにあります。

image.png

ライブラリ概要

コスチュームを決まった命名ルールに従って用意するだけで、以下の事をしてくれます。

  • パラメータ数やパラメータごとの項目数を自動判別、自動レイアウト
  • アニメーションの自動判別、自動アニメーション

最終的な選択番号は、「Settings Parameter Values」 という名のリストに格納されるため、それを参照して選択された項目に従った動作をさせる、というのが基本的な利用方法です。

使い方

基本

以下の命名ルールに従ってコスチュームを用意します。

  1. パラメータ名は 1-T のような名前にする必要があります。 1 はパラメータ ID 番号を意味し、T はタイトルを意味します。パラメータID番号は、パラメータが複数ある場合にパラメータを区別するために使用されます。

  2. 項目には、パラメータ ID 1 に対して 1-11-2、...、1-n のような名前を付ける必要があります。項目に 6 つの選択肢がある場合、n は 6 になります。 2 番目のパラメータに対してパラメーター ID は 2 となり、ID 2 のオプションは 2-12-2、...、2-m となります。 m はパラメータ ID 2 のオプションの数を意味します。この場合、n は m と異なっていても構いません。

  3. オプションでアニメーションさせたい場合は、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 として別記事にしておこうかと。

  • 「コスチューム名」を参照できるため、「コスチューム変更」した後に「コスチューム名が期待した名前になっているか」をチェック。
    • なっていれば、そのコスチュームが存在している。
    • なっていなければ、そのコスチュームは存在していない。

この方法で、パラメータ数やパラメータごとの項目数、アニメーションが設定されているか、を確認し、それを元に動作するようにしています。


Scratch ライブラリと Scratch Tips 目次へ戻る

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?