やりたいこと
- クローンで複数の異なるボタンを配置する
- ボタンを押すと押したボタンに応じた値を返す
使うイメージ
1. クローンで複数の異なるボタンを配置する
- プレイヤーにボタンで選択肢を提示する
- プレイヤーにボタンで入力させる
2. ボタンを押すと押したボタンに応じた値を返す
- プレイヤーが選択肢を選ぶとそれに応じてゲームが進行する
- プレイヤーがボタンで入力した結果を出力する
スプライトとスクリプト
「ボタン」スプライト
ボタンの種類ぶんだけコスチュームを持たせておきます。
クローンを作るスクリプト
クローンするたびに「ボタン番号」変数を増やしていき、クローンされた後のスクリプトで「ボタン番号」変数によってコスチュームと表示位置を変えて表示させます。
※「クローンを作る」コマンドは、クローンを作るのを待たずに(同期せずに)次の処理に行くようで、その直後に「ボタン番号を1ずつ変える」があるとボタン番号が増えてからクローンができてしまうため、「0.1秒待つ」コマンドを入れています。
またそれぞれ別々に「ボタン名」変数を持たせて、クローンしたときにボタンの名前を代入しておきます。
クローンの変数は、新しい変数を作るときに「このスプライトのみ」を選択することで、クローンごとに変数に別々に値を代入させることができます(下図)。
ボタンが押された時のスクリプト
「このクリックされたとき」の直後に「マウスのポインターに触れたなら」を置いて、クリックされたクローンの処理がスタートするようコントロールできます。
Scratchサンプル(要Flash)
Scratch3.0になるとiPhone/iPadでも見れる…はず。
ボタンを押すと、押したボタンに応じて「そうさほうほう」変数に値が入ります。
scratch.mit.edu