スクラッチプログラミング - アイコンメーカーのつくりかた

Scratch で人気(にんき)のアイコンメーカー。アイデア次第(しだい)でいろいろなキャラクターをつくれるプロジェクトです。この記事(きじ)では、スライダーをうごかしてキャラクターのみためをかえる方法(ほうほう)をくわしく解説(かいせつ)します。

スクラッチプログラミング - アイコンメーカーのつくりかた

スライダーやボタンでみためをかえよう

Scratch (スクラッチ)でアイコンメーカーをつくってみましょう。

アイコンメーカーは、ボタンなどをクリックしてみためをかえて、自分(じぶん)だけのキャラクターをつくれるプロジェクトです。アイコンメーカーの基本的(きほんてき)なしくみはとてもシンプルで、「ボタンをクリックしたら、メッセージをおくって、コスチュームをかえる」です。

今回(こんかい)は、ボタンだけでなく、自作(じさく)のスライダーでみためをかえる方法(ほうほう)を紹介(しょうかい)します。自分(じぶん)でつくるスライダーは、スクリプトがすこし複雑(ふくざつ)なので、そちらをメインに解説(かいせつ)していきます。

サンプルプロジェクト|カービィメーカー

下(した)にあるのは、アイコンメーカーのサンプルプロジェクトです。記事(きじ)をよみすすめる前(まえ)に、ボタンやスライダーでカービィのみためがかわる様子(ようす)をみておいてください。

Scratch|カービィのアイコンメーカーのサンプルGIF
Scratch|カービィのアイコンメーカーのサンプルGIF

これから、上(うえ)のサンプルにあるような3種類(しゅるい)のスライダーについて説明(せつめい)していきます。これら3つは、それぞれに初期値(しょきち)がことなります。

  • 色(いろ)のスライダー:
    • ボタンの位置(いち)は、左端(ひだりはし)
    • 変更(へんこう)できる範囲(はんい)の、一番(いちばん)ちいさい値(あたい)
  • あかるさのスライダー:
    • ボタンの位置(いち)は、中央(ちゅうおう)
    • 変更(へんこう)できる範囲(はんい)の、まんなかの値(あたい)
  • おおきさのスライダー:
    • ボタンの位置(いち)は、右端(みぎはし)
    • 変更(へんこう)できる範囲(はんい)の、一番(いちばん)おおきい値(あたい)

では最初(さいしょ)に、色(いろ)のスライダーからつくっていきましょう。

スプライトを用意(ようい)しよう

1つのスライダーをつくるためには、2つのスプライトが必要(ひつよう)です。

  • スライダーの値(あたい)を変更(へんこう)するボタンのスプライト
  • スライダーの土台(どだい)となるスプライト
スライダーをこうせいする2つのスプライト
スライダーをこうせいする2つのスプライト

2つのスプライトは、土台(どだい)の上(うえ)にボタンがかさなるように配置(はいち)しておいてください。

変数(へんすう)をつくろう

スクリプトはボタンにつくっていきます。ボタンのスプライトを選択(せんたく)してから、ブロックをくみあわせていきましょう。

スライダーをつくるためには、複数(ふくすう)の変数(へんすう)をつかいます。まず用意(ようい)してほしいのは、下(した)の7つの変数(へんすう)です。これらは、「このスプライトのみ」にチェックをいれてつくってください。

「このスプライトのみ」でつくるへんすう7つ
「このスプライトのみ」でつくるへんすう7つ

「このスプライトのみ」で変数(へんすう)をつくる理由(りゆう)は、次(つぎ)のとおりです。

  • ほかのスプライトでは、この変数(へんすう)の値(あたい)を利用(りよう)しないから。
  • この後(あと)、ほかのスライダーをつくるときにも、おなじ名前(なまえ)で変数(へんすう)をつくれるようになるので、別々(べつべつ)の変数名(へんすうめい)をかんがえる必要(ひつよう)がなくなるから。

つづいて、もう1つ、色(いろ)をかえるため変数(へんすう)を用意(ようい)します。この変数(へんすう)の値(あたい)は、キャラクターのほうでも利用(りよう)するので、「すべてのスプライト」で変数(へんすう)をつくってください。

「すべてのスプライト」でつくるへんすう1つ
「すべてのスプライト」でつくるへんすう1つ

以上(いじょう)で、色(いろ)のスライダーにつかう変数(へんすう)を用意(ようい)できました。次(つぎ)のセクションから、これらの変数(へんすう)の値(あたい)を設定(せってい)していきます。

スライダーの座標(ざひょう)をしらべよう

スライダーのボタンは、左右(さゆう)にうごかします。うごかせるのは、スライダーのながさの範囲内(はんいない)です。

うごかせる範囲(はんい)をきめるために、スライダーの端(はし)の座標(ざひょう)をしらべましょう。しらべかたは、次(つぎ)のとおりです。

  1. Scratch で最初(さいしょ)から用意(ようい)されている へんすう にチェックをいれてステージに表示(ひょうじ)し、値(あたい)を確認(かくにん)できるようにします。
  2. ずっとへんすうを マウスのxざひょう にする をくみあわせて、クリックします。
  3. スライダーの土台(どだい)の端(はし)にマウスポインターをあわせると、座標(ざひょう)がわかります。
スライダーのはしのざひょうをしらべる
スライダーのはしのざひょうをしらべる

しらべた座標(ざひょう)を、スライダーの左端(ひだりはし)スライダーの右端(みぎはし) にいれましょう。

スライダーのはしのざひょうをへんすうにいれる
スライダーのはしのざひょうをへんすうにいれる

おなじ値(あたい)をつかって、スライダー全体(ぜんたい)のながさを計算(けいさん)し、スライダーのながさ にいれましょう。

スライダーのながさをしていする
スライダーのながさをしていする

値(あたい)の範囲(はんい)をきめよう

スライダーで変更(へんこう)できる値(あたい)の範囲(はんい)をきめましょう。今回(こんかい)は、色(いろ)の効果(こうか)を 0200 の間(あいだ)でかえられるようにします。

  1. 最小値(さいしょうち)最大値(さいだいち) を指定(してい)します。
  2. 変更(へんこう)できる範囲(はんい)を計算(けいさん)し、数値(すうち)の範囲(はんい) にいれます。
スライダーでかえられるあたいのはんいをしていする
スライダーでかえられるあたいのはんいをしていする

初期値(しょきち)を設定(せってい)しよう

ここまで用意(ようい)してきた変数(へんすう)をつかって、スライダーの最初(さいしょ)の状態(じょうたい)を設定(せってい)しましょう。

  1. ボタンの最初(さいしょ)の位置(いち)は、スライダーの左端(ひだりはし) です。これは値(あたい) 0 の位置(いち)となります。
  2. 最初(さいしょ)は色(いろ)の効果(こうか)はナシなので、最小値(さいしょうち)0 です。
  3. ボタンの x 座標(ざひょう)を、最初(さいしょ)の位置(いち) にします。
スライダーのさいしょのせってい
スライダーのさいしょのせってい

ここまでで、スライダーをうごかすための準備(じゅんび)ができました。

スライダーをうごかそう

ここからは、スライダーのボタンを左右(さゆう)にうごかせるようにしていきます。縦(たて)へはうごかさないので、y 座標(ざひょう)はスライダーの土台(どだい)とおなじ位置(いち)にしておきましょう。

ボタンのyざひょうをこていする
ボタンのyざひょうをこていする

ボタンをうごかせるのは、次(つぎ)の条件(じょうけん)をみたしているときだけです。

  • ボタンにマウスポインターがふれている
  • マウスがおされている
ボタンがマウスまたはゆびでおされているなら
ボタンがマウスまたはゆびでおされているなら

ボタンをうごかす条件(じょうけん)を、マウスのポインターにふれた だけにしてもうごかすことは可能(かのう)です。ただこの場合(ばあい)、マウスのうごきがはやいと、ボタンがマウスのうごきについてこられないことがあります。マウスがおされた も条件(じょうけん)にくわえることで、確実(かくじつ)にボタンをうごかせるようになります。

さらに、ボタンをうごかせるのは、マウスがおされている間(あいだ)だけです。ボタンをうごかす条件(じょうけん)として、下(した)のようにブロックを追加(ついか)してください。

マウスまたはゆびでおされているあいだだけうごかす
マウスまたはゆびでおされているあいだだけうごかす

ボタンをスライダーの範囲内(はんいない)でうごかしましょう。

  1. x 座標(ざひょう)をマウスポインターとおなじ位置(いち)にします。
  2. スライダーの土台(どだい)からはみださないように、左端(ひだりはし)と右端(みぎはし)の限度(げんど)を指定(してい)します。
ボタンのxざひょうをスライダーのはんいないでうごかす
ボタンのxざひょうをスライダーのはんいないでうごかす

ボタンをうごかすと同時(どうじ)に、色(いろ)の効果(こうか)もかえられるようにしましょう。色(いろ)の効果(こうか) の値(あたい)は、ボタンが今(いま)ある位置(いち)と、最初(さいしょ)に設定(せってい)した変数(へんすう)をつかって、下(した)のように計算(けいさん)します。

いろのこうかあたいをけいさんする
いろのこうかあたいをけいさんする

以上(いじょう)で、色(いろ)のスライダーが完成(かんせい)です!

色(いろ)をかえよう

色(いろ)をかえたいキャラクターには、下(した)のようにブロックをつなげてください。

ずっと、いろのこうかをかえる
ずっと、いろのこうかをかえる

これで、スライダーをうごかして色(いろ)をかえられるようになりました!

あかるさのスライダー

次(つぎ)は、あかるさをかえるスライダーのスクリプトです。

  • 値(あたい)の範囲(はんい)は -9090
  • 最初(さいしょ)のボタンの位置(いち)は、スライダーの中央(ちゅうおう)
  • 中央値(ちゅうおうち) 0 からスタート

さきほどつくったスライダーとちがうのは、下(した)の赤(あか)でかこった部分(ぶぶん)になります。

ちゅうおうちからスタートするスライダー
ちゅうおうちからスタートするスライダー

おおきさのスライダー

おおきさをかえるスライダーは、下(した)のようになります。

  • 値(あたい)の範囲(はんい)は 50100
  • 最初(さいしょ)のボタンの位置(いち)は、スライダーの右端(みぎはし)
  • 最大値(さいだいち) 100 からスタート
さいだいちからスタートするスライダー
さいだいちからスタートするスライダー

おおきさは、先(さき)につくった2つのスライダーとはちがって、最初(さいしょ)の値(あたい)が 0 ではなく 100 です。値(あたい)を変更(へんこう)するときも、最大値(さいだいち)の 100 がプラスされるようにしてくださいね。

おおきさのあたいをけいさんする
おおきさのあたいをけいさんする

以上(いじょう)で、3種類(しゅるい)のスライダーが完成(かんせい)です!

ボタンでみためをかえよう

最後(さいご)に、ボタンをクリックしてみためをかえる方法(ほうほう)です。この方法(ほうほう)は、とても簡単(かんたん)です。

ボタンのスプライトをつくって、下(した)のようにブロックをつなげましょう。たとえば、目(め)のみためをかえたい場合(ばあい)は、「目(め)をかえる」というメッセージをおくります。

めをかえるためのボタンのスクリプト
めをかえるためのボタンのスクリプト

目(め)のスプライトには、いろいろなみためのコスチュームをつくってください。そして、下(した)のようにブロックをつなげましょう。

めのスクリプト
めのスクリプト

これで、ボタンをおしてみためをかえられるようになりました!

さて、記事(きじ)の最初(さいしょ)に紹介(しょうかい)したサンプルプロジェクトでは、カービィのみためをかえるだけでなく、次(つぎ)のような工夫(くふう)もくわえています。

  • ステージをクリックしたら、背景(はいけい)の色(いろ)がかわる
  • ボタンにマウスポインターをあてたら、ボタンの色(いろ)がかわる
  • 更新(こうしん)ボタンで、最初(さいしょ)のみためにもどす
  • 完成(かんせい)ボタンをおしたら、スライダーやボタンをかくして、カービィだけの表示(ひょうじ)にする

Scratch の Pyxofy ページへいって、実際(じっさい)に Scratch カービィアイコンメーカー by Pyxofy であそんでみてください。(「なかをみる」をクリックすると、すべてのスクリプトをみることができます)

Scratch|カービィアイコンメーター by Pyxofy
Scratch|カービィアイコンメーター by Pyxofy

Pyxofy (著)「きょうからはじめるスクラッチプログラミング入門」

Pyxofy が Scratch の電子書籍を出版しました!Kindle・Apple Books からご購入ください。

詳細はこちら

まとめ

ここまで、Scratch でつくるアイコンメーカーについて紹介(しょうかい)してきました。

今回(こんかい)は特(とく)に、カスタムスライダーをつくる方法(ほうほう)をくわしく解説(かいせつ)しました。ボタンだけでなくスライダーがあると、簡単(かんたん)にみためをかえられるところがいいですね。

アイコンメーカーは、Scratch でも人気(にんき)のあるプロジェクトです。変更(へんこう)できるパーツやコスチュームがおおければおおいほど、あそんでたのしい作品(さくひん)になります。ぜひつくってみてください!

最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!

SNS で Pyxofy とつながりましょう! LinkedInThreadsBlueskyMastodon X (Twitter) @pyxofyFacebook

関連記事

スクラッチプログラミング - セリフを一文字ずつひょうじしよう
スプライトがいうセリフの文字を、キーボードで入力(にゅうりょく)されているかのように、ひとつずつ表示(ひょうじ)する方法(ほうほう)をしょうかいします。「ブロック定義(ていぎ)」と「変数(へんすう)」をつかってプログラミングします。
JavaScript - Pyxofy
プログラミング言語のJavaScriptについて、初心者向けに解説しています。
CSS Art – How to Make a Game Character – Kirby
Pink all over and packed with powerful moves. Unforgettable starry eyes. Join us in creating the iconic Kirby in this article, step-by-step.
CSS Animation
Articles for creating CSS Animation.