かとりぶたとあじさいの、子どもと遊ぶログ

かとりぶたとあじさい夫婦による、男子3兄弟育児での体験や、考えたことのブログ。

【Scratch】クローンでボタンを作る、作ったボタンを押す

やりたいこと

  1. クローンで複数の異なるボタンを配置する
  2. ボタンを押すと押したボタンに応じた値を返す

使うイメージ

1. クローンで複数の異なるボタンを配置する

  • プレイヤーにボタンで選択肢を提示する
  • プレイヤーにボタンで入力させる

2. ボタンを押すと押したボタンに応じた値を返す

  • プレイヤーが選択肢を選ぶとそれに応じてゲームが進行する
  • プレイヤーがボタンで入力した結果を出力する

スプライトとスクリプト

「ボタン」スプライト

ボタンスプライト
ボタンの種類ぶんだけコスチュームを持たせておきます。

クローンを作るスクリプト

クローンを作るスクリプト
クローンするたびに「ボタン番号」変数を増やしていき、クローンされた後のスクリプトで「ボタン番号」変数によってコスチュームと表示位置を変えて表示させます。
※「クローンを作る」コマンドは、クローンを作るのを待たずに(同期せずに)次の処理に行くようで、その直後に「ボタン番号を1ずつ変える」があるとボタン番号が増えてからクローンができてしまうため、「0.1秒待つ」コマンドを入れています。

またそれぞれ別々に「ボタン名」変数を持たせて、クローンしたときにボタンの名前を代入しておきます。
クローンの変数は、新しい変数を作るときに「このスプライトのみ」を選択することで、クローンごとに変数に別々に値を代入させることができます(下図)。
クローン内ローカル変数

ボタンが押された時のスクリプト

ボタンが押された時のスクリプト
「このクリックされたとき」の直後に「マウスのポインターに触れたなら」を置いて、クリックされたクローンの処理がスタートするようコントロールできます。

Scratchサンプル(要Flash)

Scratch3.0になるとiPhone/iPadでも見れる…はず。

ボタンを押すと、押したボタンに応じて「そうさほうほう」変数に値が入ります。
scratch.mit.edu