お題Scratch 04 のベース「タイピング」の作成手順です。
【2017年6月3日】一部手順を修正しました。
このプロジェクトの特徴
Scratchの準備
1. スクラッチのサイトhttps://scratch.mit.edu/ にアクセスする。
2. 「作る」をクリックして、プログラミングの画面を開く。
文字を用意する
1. いらないスプライトを削除し、「スプライトをライブラリーから選択」を選ぶ。
2. スプライトライブラリーで英文字「A」を選んで取り込む(「OK」する)。
3. スプライトのコスチュームを確認する。
4. 「A」のスプライトの2枚目以降のコスチュームとしてスプライトライブラリーから英文字「B」から「H」までを取り込む。
5. AからHまでのコスチュームのスプライトを確認。
6.「(i)インフォペイン」を開いてスプライトの名前を変える。
7. 旗がクリックされた時にスプライトを非表示にする。スクリプトでイベントの「旗がクリックされたとき」に、見た目の「隠す」をセットする。
文字をクローンして表示する
文字はステージ上部のランダム(適当)な位置に表示して、下方向にスクロールさせる。
1. 文字のスプライトを選んで、スクリプトエリアに制御の「クローンされたとき」を追加する。
クローンというのは、スプライトを一時的に複製すること。
2. クローンされたスプライトのコスチュームを決める。見た目の「コスチュームを〜にする」を追加する。ランダムに選ぶので、〜には演算の「◯から◯までの乱数」をセット。乱数の範囲は、文字スプライトのコスチューム#(1〜8)を指定する。
3. コスチュームを決めたらクローンされたスプライトを表示する場所を決める。動きの「y座標を◯にする」を追加し、◯には180を指定する。
4. 動きの「x座標を◯にする」を追加し、◯には演算の「◯から◯までの乱数」をセット。乱数の範囲は、画面の左右の座標より少し狭い(-200〜200)を指定する。
5. スプライトの用意ができたら表示する。見た目の「表示する」を追加する。
6. 表示したスプライトを画面の下までスクロールさせる。制御の「〜まで繰り返す」を追加し、〜には演算の「<」ブロックと動きの「y座標」ブロックを使って、y座標が-180より小さくなるまでの繰り返しを作る。
7. 繰り返しに、動きの「y座標を◯ずつ変える」を追加し、◯にー3を指定する。
ここで、「クローンされたとき」のブロックをクリックして動きを確認する。
8. 繰り返しが終わったらクローンを消す。制御の「このクローンを削除する」。
ゲームのスタート部分を作る
1. 旗がクリックされた時にゲームを動かすスクリプトをステージに書く。ステージを選択し、スクリプトでイベントの「旗がクリックされたとき」に、制御の「ずっと」をセットする。
2. 文字のスプライトをクローンして表示する。「ずっと」の中に、制御の「〜のクローンを作る」ブロックを追加し、スプライト名に文字のスプライト名(この場合はblock)をセットする。
3. この状態で旗を押して実行すると、スプライトのクローンがすごい速さで増えてしまうので、待ち時間を入れる。制御の「◯秒待つ」を追加し、◯に2を追加する。
キーを押した時の動きを作る
キーが押されたら、そのキーの種類を変数に保存してメッセージを飛ばす。
1. 押されたキーの種類を保存するための変数を用意する。プログラムからプログラムに渡すため。データの「変数を作る」で、すべてのスプライト用の変数 keycode を作る。
2. 文字のスプライトを選んで、スクリプトエリアに制御の「クローンされたとき」を追加する。
3. クローンされた次に、制御の「ずっと」を追加し、その中に制御の「もし〜なら」を追加する。条件の〜には、調べるの「〜キーが押された」を指定し、〜にはaを選ぶ。aのキーが押された時の動きをここに書く。
4. もしaキーが押されたなら、データの変数 keycode にaのコスチューム#をセットして、イベントの「〜を送る」でメッセージを飛ばす。
タイピングの処理を作る
キーが押されて飛ばされたメッセージを受けて、押されたキーと表示されているスプライトが同じならスプライトを消す。
1. キーが押されて飛ばされたメッセージを受ける。スクリプトエリアにイベントの「〜を受け取ったとき」を追加し、〜にメッセージの名前を指定する。
2. 押されたキーと表示中のコスチュームを比べる。制御の「もし〜なら」を追加し、演算の「□=□」ブロックを使って、見た目の「コスチューム#」とデータの変数 keycodeを比較する。もし、同じだったら、制御の「このクローンを削除する」でスプライトのクローンを消す。
3. クローンを消す前に音を鳴らす。スプライトの「音」タブを選んで「音をライブラリーから選択」する。
4. ライブラリーから、好きな音を選んでOKする。
5. クローンを削除する前に、音の「〜の音を鳴らす」を追加して、〜にはライブラリーで選択した音の名前を指定する。
6. 動作を確認する。Aのスプライトが表示されている時に、aのキーを押すと、効果音が鳴ってAのスプライトだけが消える。
7. コスチュームを用意してあるb〜hのキーが押された処理を追加する。押されたキーの種類は変数に入れて渡すので、飛ばすメッセージはすべて共通。もし◯キーが押されたなら、変数 keycode に◯のコスチューム#をセットして、メッセージを飛ばす。
仕上げ
ここまでのプログラムができたら、iからzまでのコスチュームとそのキーを押された時のプログラムを追加します。
1. 文字のスプライトを選択し、コスチュームにiからzまでのコスチュームを追加する。コスチュームはライブラリで複数選択して一括で読み込めますが、コスチューム#がアルファベット順に並ぶように気をつける。
2. 文字のスプライトのスクリプトを開き、iからzまでのキーが押された時のプログラムを追加する。
3. クローンされた時に(1〜8)の範囲で決めていたスプライトのコスチューム#を、1〜26にする。
4. スプライトの中で選択されているコスチュームと同じキーを押すとキーリピートが発生してしまうので、それを防ぐ。コスチュームの一番最後に、空のコスチュームを追加して選択する。
完成
お題に挑戦
このプロジェクトをもとに、以下のようなお題に挑戦してみてください。
– 得点/失点をつける
– スタート/ゲームオーバー画面
– ハイスコア
– スピードアップ、レベル
– 音/背景のデザイン
他のお題Scratchにも、挑戦してみてください。
コメントを残す