2013年7月30日火曜日

簡単プログラム05~衝突を判定させる(1)

Scratchの解説5回目です。

ちなみに...

Scratchは来月予定している「スクラッチ「かんたん」プログラミング体験講座」でまた別の内容でレクチャーする予定です。

是非ご参加下さい。申込お待ちしております。

*今までのまとめはこちら

・ 衝突を判定させる(1)

スプライトを複数使って、スプライト同士の衝突を判定させて見ましょう。
ここでは壁のようなスプライトを作ってみます。

ちなみにスプライトというのはアニメのセル画のように重なりあった画像で、この場合は一つのスプライトに1キャラクタを配置して複数のキャラクタを管理しています。

まず、スプライトを追加します。
今回はすでに準備されているサンプルデータを用います。右の画面の下にある3 つのボタンの真ん中「新しいスプライトをファイルから選ぶ」をクリックします。


「新しいスプライト」というウィンドウが開きますので、「Things」のフォルダから「palmtree」を選択してください。
スプライト1 の横にスプライト2 という名前で登録されます。


画面上に両方のスプライトが配置されますので、少し離しておきます。

スプライト1に以下の図のようにブロックを配置します。


上の4 つのブロックはキー入力で使ったものと同じですが、最後のブロックに「もし~なら」を配置します。(同じような名称のブロックが複数ありますので形を良く見てください)

これは条件分岐を実現するブロックで、ある条件で実行される命令を指示するのに使われます。

では、ここでは「スプライト2 に触れた」場合に進行方向の反対に跳ね返るように指定しましょう。
「調べる」の項目から「~に触れた」のブロックを次の図のように配置します。


そして触れる対象を「スプライト2」にします。

次にスプライト2 に触れた場合の動作を挿入します。


進行方向の逆に進むようにマイナスの数値を入れます。

こうする事で、右のカーソルキーを押す→もし、スプライト1 がスプライト2 に触れたなら、左に跳ね返る(進めない)→それ以外なら右に進む、というプログラムが出来ました。

実際に動かして動作を確認してみてください。

木に当たるとそこから先へは進めなくなるはずです。


*木ではなくブロックですが、同じように作成したものです。

0 件のコメント:

コメントを投稿