HOME技術レッツ!スクラッチレッツ!スクラッチ (6) インベーダーゲームをつくろう ― プレイヤーを左右に動かそう

レッツ!スクラッチ (6) インベーダーゲームをつくろう ― プレイヤーを左右に動かそう

いよいよ、プレイヤーを動かせるようにしていきます。

キーボードの右矢印キーを押したら右へ、左矢印キーを押したら左に動くようにしましょう。

「x座標を0、y座標を-150にする」ブロックの下に、「ずっと」ブロックをくっつけます。
「ずっと」ブロックとは、ブロックの中に置いたブロックを「ずっと」実行し続ける、というブロックです。
「ずっと」ブロックは、ブロックパレットの「制御」の中にあります。

次に、「制御」の中にある、「もし なら」ブロックを「ずっと」ブロックの中に合体させます。

「調べる」から、「スペースキーが押された」ブロックを、「もし なら」の文字の間の空間に合体させます。

「スペース」を「右向き矢印」に変えます。

「動き」から「x座標を10ずつ変える」を選んで、「もし なら」ブロックの中に合体させます。
この場合の「もし なら」ブロックの意味は、
「もし [ 右向き矢印が押された ] なら、 [ x座標を10ずつ変える ] 」ということになります。

これで右に動くようになりました。
試しに、キーボードの右向き矢印キーを押してみてください。
ロケットが右に動きましたか?

しかし、このままだとロケットが右に行き過ぎて、外にはみだしてしまっていますよね?
これではちょっとおかしいので、ロケット全体が外に出ないようにしましょう。

「もし なら」ブロックから、「右向き矢印キーが押された」ブロックをいったん出します。

「演算」から、「 かつ 」ブロックを選び、「もし なら」ブロックの空いた穴に入れます。

「 かつ 」の左側の穴に、「右向き矢印キーが押された」ブロックを入れます。

「演算」から、「 <50 」ブロックを選び、「右向き矢印キーが押された かつ 」ブロックの右側の穴に入れます。

ステージペイン内のロケットをマウスで右側に動かしてみると、ロケット全体が隠れない位置は、だいたいx座標が200の位置だということがわかります。

「 <50 」の数字を200にします。

「動き」から、「x座標」ブロックを選び、「 <200」ブロックの左側の穴に入れます。

実際に、キーボードの右矢印キーを押してみてください。
ロケットが右側に動いていき、画面の端で止まったでしょうか?

ここでいったんおさらいです。
今つくった「もし なら」ブロックの中身の意味は、

「もし、右向き矢印キーが押されて、かつ、ロケットのx座標が200よりも小さい場合は、x座標を10ずつ増やす」

という意味になります。

今度は、同じように左側に動かせるようにします。
右側のときと同じようにして、つくってみてください。

以下のようになるはずです。

これで、ロケットを左右に動かすことができるようになりました。

ポイントは、左に動かす場合には、x座標は「-10」ずつ動くということです。
また、ロケットが画面からはみ出さない左端の位置は、だいたいx座標が「-200」の位置です。

次回はロケットから弾を発射します。

「レッツ!スクラッチ」コンテンツリスト

関連記事

レッツ!スクラッチ (3) 基本画面の説明

「レッツ!スクラッチ」の3回目は、基本画面の説明です。 基本画面 A — メニュー B — タブ C — ブロックパレット D — スクリプトエリア E…続きを読む

レッツ!スクラッチ (17) インベーダーゲームをつくろう ― ゲームスタートボタンをつくろう

今回はスタートボタンをつくります。 ゲームを始めるときに、画面に表示されている「START」などの文字、もしくはボタンのことです。 「旗マーク」をゲームのスタートボタンとしてもよいのですが、ゲームっぽ…続きを読む

レッツ!スクラッチ (7) インベーダーゲームをつくろう ― たまを発射する

次は、いよいよ攻撃です。 スペースキーを押したら、ロケットから、たまが発射されるようにします。 たまを発射するには、たまの画像が必要になります。 スプライトペインの右下のアイコンにマウスカーソルを合わ…続きを読む

レッツ!スクラッチ (16) インベーダーゲームをつくろう ― 音を出そう!

これまでゲームが面白くなるように色々と工夫をしてきましたが、一つまだ手を付けていないことがあります。 それが「音を出す」ことです。 今回は、ゲームスタートのとき、たまをうった時、敵にたまがあたったとき…続きを読む

レッツ!スクラッチ (5) インベーダーゲームをつくろう ― 画面にプレイヤーを表示しよう

さあ、ゲームの設計もかんたんですが、おわりました。 いよいよプログラミングをしていきましょう! 最初は、画面を用意して、プレイヤーを表示するところまでをやっていきます。 画面の背景を指定しよう! まず…続きを読む

レッツ!スクラッチ (13) インベーダーゲームをつくろう ― 爆発させよう!

このインベーダーゲームでは、たまをうって敵に当たったときに点数が入ったり、敵が自分の陣地まで来たときにゲームオーバーになったりする処理を入れてきましたが、いずれももう一味ほしいと思いませんか? そう、…続きを読む

レッツ!スクラッチ (12) インベーダーゲームをつくろう ― ゲームの難易度をあげよう!

点数もつくようになったので、これでほぼゲームとして完成しました。 しかし、このままでは物足りないですよね? まずはゲームが単調すぎて、かんたんです。 慣れてしまえばあっという間につまらなくなってしまう…続きを読む

レッツ!スクラッチ (1) プログラミングの心得

「レッツ!スクラッチ」では、ビジュアルプログラミング言語「スクラッチ(Scratch)」を使って、わたしが実際につくったプログラムを紹介してくコーナーです。 プログラミングに興味を持つきっかけとして、…続きを読む

レッツ!スクラッチ (15) インベーダーゲームをつくろう ― アイテムをとってパワーアップさせよう!

さて、ゲームにとって欠かせないのは、パワーアップです。 アイテムをとってプレイヤーがパワーアップすることで、より敵を倒しやすくする、というものです。 今回は、一定数の敵を倒すと、アイテムが降ってきて、…続きを読む

レッツ!スクラッチ (4) インベーダーゲームをつくろう ― ゲームを設計しよう

おまたせしました! 「レッツ!スクラッチ」第4回目は、いよいよゲームをつくっていきます。 その中でも、今回はインベーダーゲームをつくります。 ゲームを設計しよう! まずはどんなゲームにするのか、企画を…続きを読む