広告
Scratch(スクラッチ)を使って入門プログラムの定番、ブロック崩しを作っていきます。
ブロック崩しを通してたくさんのプログラムの組み合わせ方、キャラクターの移動方法、簡単な場面の切り替えなどを学んでいきます。
「Scratch(スクラッチ)でプログラミング入門」の応用編になりますので、まだ終えてない方はそちらを先にご覧ください。
今回はブロックを表示して、その当たり判定を作っていきます。
ブロックの代わりとなるスプライト「Apple」とそれを大量に表示する為に使用する変数として「クローンx座標」「クローンy座標」「カウント」という名前の3つの変数を用意しておいてください。
それではいってみましょう!
たくさんのスプライトを使いたい時は「クローン」でしたね!
というワケでクローンを使ってりんごを大量に表示していきます。
さきに完成図ですが
こんな感じで合計16個のりんごを表示してみます。
まずは16回クローンを作成します。
11日目で説明した通りの流れでまずスプライト本体を隠します。
その上でカウント用の変数、クローン用の座標変数など必要な変数の初期化を行い「繰り返し」ブロックを使ってクローンの作成に入ります。
クローンを作るたびに変数カウントの値を上げていき必要な回数分クローンを作成します。
クローンを16回作成するのに、なぜ「~回繰り返す」ブロックではなくわざわざ「カウント」用の変数を使ったのかは後ほど説明します。
では「クローンされたとき」のプログラムに入ります。
クローンの座標を先ほどの変数を使って設定、表示するたびに座標を横にずらして・・・、
このへんまでは説明はいらないかと思います。
問題はこの
「もしカウントを8で割った余りが0なら」
ですね!
覚えておりますでしょうか?
13日目の後半で説明しました「割った余り」を使ったプログラミングテクニックになります。
今回は左上からりんごの表示を始めるので、ここでやりたい事は「りんごを横に8個表示するたびにりんごのx座標を左端に戻して、y座標をりんご一つ分ずらしてあげる」になります。
ですので変数「カウント」を8で割った余りが「0」の時に座標を設定しなおしてあげればよいワケです。
ちょっとわかりづらい方の為にりんごを横に3つずつ10個表示するというプログラムに変更してみます。
カウントを10までに変更して
横に3つなので「3で割った余りが0なら」に変更すると・・・、
こんな感じになりますね!
あとは当たり判定をつけるだけですね!
事前にボールの初期y座標をゲーム開始の瞬間にりんごにぶつからないように少し下にずらしておいてください。
「クローンされたとき」の後半に次のプログラムを加えてください。
「ずっと」ブロックを使って当たり判定を追加します。
「もしボールに触れたなら変数「y増加量」のプラスマイナスを入れ替えてボールを反射、そのクローンを削除」すれば
とても簡単ではありますがいちようブロック崩しができました!
ここまでのプログラム全体になります。
それではなんとなくの骨組が完成したトコロで次回はタイトルとゲームクリアを加えてもう少しゲームっぽく仕上げていきます。
広告
Copyright 2016 K.N/petitetech.com