Scratch2(スクラッチ2)で壁打ちゲームを作ろう(7回目)
myway@おじさんです。
今回は、障害物のオレンジを追加したいと思います。
動作環境について
OS:MAC OS X(Windowsでも操作はほとんど変わりません)
エディタ:Scratch offline editor(ver.456)
1.準備
前回保存したプロジェクトを開いて下さい。
画面右上の「ファイル」をクリックしてから、「ひらく」をクリックして、プロジェクトを開いて下さい。
2.オレンジの追加
「新しいスプライト」をクリックして「Orange」を追加します。
3.「Orange」のスクリプト
「Orange」のスクリプトです。
簡単に説明すると、「Orange」はサイズが小さいので、大きくしてから、らんすうをつかって表示する場所を変えています。「Apple」のスクリプトとほぼ同じです。
実は、このままだと問題があります。
「Apple」と「Orange」が、かぶって表示してしまう可能性があります。
では、どうすればよいかを書いていきます。
4.「Apple」と「Orange」のスクリプト
「緑のはたがクリックされたとき」ブロックの最後に、メッセージ「Appleをおいた」ブロックを追加しました。
(メッセージブロックはつくっています)
次に「Orange」のスクリプトです。
(1)「緑のはたがクリックされたとき」ブロックには、サイズの変更だけにし、「xざひょう...」ブロックは消しています。
(2)「リンゴをおいたをうけとったとき」ブロックを追加。
これで、「Apple」の場所が決まってから、「Orange」をおくようにしています。
(3)「Orange」をおく場所を決める。
(4)おいた場所が「Apple」にふれていれば、おきなおすよう、「Appleにふれたではないまでくりかえす」ブロックで、おきなおすようにしています。
(5)メッセージの「オレンジをおいた」ブロックを追加。
なぜ、メッセージを使っているかを説明します。
以前、「プログラムは順番にしかうごかない」と説明したと思います。
もう一つルールがあります。
「どのプログラムが先に動くかは、コンピュータ任せ」になっています。
「緑のはたがクリックされたとき」ブロックが、色々なスプライトにあります。
しかし、どのブロックが一番はじめに動くかは、コンピュータにしかわかりません。
よって、スクリプトで「やってほしい順番」を指示する必要があります。
今回は、「Apple」→「Orange」の順番でおいて欲しいので、「メッセージ」を使って順番を指定しています。
5.「Ball」と「Orange」の順番
「Ball」が動きだしたあとに「Orange」があらわれたらおかしいので、「Ball」と「Orange」の順番も指定したいと思います。
「Ball」のスクリプトです。
注)変更した部分のみ表示しています。見えない部分は変更していません。
(1)「緑のはたがクリックされたとき」ブロックに「ずっと」ブロックがありましたので、一旦はなします。
(2)はなした場所に「みため」の「まえにだす」ブロックをおきます。
これは、「Orange」スプライトを最後に追加したので、このままでは、「Ball」が「Orange」の後ろに表示されてしまいます。
ここで、「まえにだす」ブロックを入れる事で、「Orange」の前に「Ball」が表示されるようになります。
(3)「ずっと」ブロックの上に「オレンジをおいたをうけとったとき」ブロックをおきました。
では、「緑のはた」をクリックして、動かしてみましょう。
「Apple」と「Orange」は重ならないでしょうか?
また、「Ball」が「Orange」の後ろをとおらないでしょうか?
今回はここまでです。
作ったら、必ず、「ほぞん」をするように心がけて下さい。
それと、今回も動画がありますので、よければ、参考にしていただければと思います。
次回は、「Apple」と同じように、「Orange」も「はね返える」ようにしたいとおもいます。
最後まで読んで頂いてありがとうございます。
皆さんに少しでもお役に立てれば幸いです。
<<壁打ち(6回目) | 壁打ち(8回目)>> |