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」の位置です。

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

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

関連記事

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

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

レッツ!スクラッチ (8) インベーダーゲームをつくろう ― 敵を表示して動かす

インベーダーゲーム、ついに敵の登場です。 まずは、敵の画像を選ぶところからです。 右下のスプライトペインから、「スプライトを選ぶ」アイコンにマウスカーソルを持っていき、虫めがねアイコンをクリックします…続きを読む

レッツ!スクラッチ (9) インベーダーゲームをつくろう ― ゲームオーバーの処理をつくろう!

前回は敵が左右に動き、プレイヤーに迫ってくるところまでをつくりました。 このままだと敵が画面の一番下にたどり着いて左右に行ったり来たりすることになります。 今回は、敵がプレイヤーの位置まで下がってきた…続きを読む

レッツ!スクラッチ (18) インベーダーゲームをつくろう ― ネット上にアップロードしよう

「インベーダーゲームをつくろう」の最終回です。 今回でこのゲームのプログラミングはおしまいです。 最終回は、このインベーダーゲームをインターネット上にアップロードしてみます。 スクラッチは自分で作った…続きを読む

レッツ!スクラッチ (14) インベーダーゲームをつくろう ― インベーダーに攻撃させよう!

これまでインベーダーは移動してくるだけでした。 今回はインベーダーも移動しながらたまをうってくるようにしてみましょう。 これでぐっと難易度が上がりますね。 いつものとおり、まずは敵がうってくるたまのス…続きを読む

レッツ!スクラッチ (11) インベーダーゲームをつくろう ― 点数をつけよう!

さあ、これまででロケットからたまを発射して、敵を倒す、という仕組みができました。敵が自分の陣地まで入ってきたらゲームオーバー、という処理も入れています。 さらにゲームらしくするためには、スコアをつけま…続きを読む

レッツ!スクラッチ (10) インベーダーゲームをつくろう ― 敵を倒せるようにしよう!

今回でほぼ、ゲームとして遊べるプログラムが完成します。 今回は、ロケットがうった、たまが敵に当たったら敵を消す、という処理をつくります。 たまが敵に当たった時の処理 たまが敵に当たったかどうかの判定は…続きを読む

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

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

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

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

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

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