初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

Scratchで はじめようゲームプログラミング

14.「けるヨケル」を作ろう①

 

私がはじめて作ったゲームは、○を点滅させて表示中にキーを押したら「当たり」、非表示なら「はずれ」という簡単なものでした。
簡単なものでもいいので、自分で考えたゲームを作ってみてください。
これができると、どんどん実力がついていきます。

 

 

これから作るゲームは?

玉を蹴って、玉から逃げるゲームです。
出現した玉を蹴ったら、当たらないように逃げてください。5つの玉から逃げ切ればゲームクリアです。

これから作るゲームです。(注意:音が出ます)

画面が表示されないときはここをクリック

プレイヤーはマウスで操作します。
出現した玉は接触するとプレイヤーの逆方向へ飛んでいきます
接触しなくても一定時間経つと動き出します。

動いている玉に当たるとゲームオーバーです。
出現する5つの玉から一定時間逃げ切るとクリアです。

むずかしいゲームに調整してあります。クリアのコツは、玉を上下方向に蹴ると少し避け易くなります。

タブレットでも遊び易いように、タッチ位置より少し上にキャラを表示しています。つまり、指で隠れないようにしています。

 

 

背景を入れよう

アカウントにサインインして始めましょう。
新しくプロジェクトを作ったら、作品の名前を入れます。
私は「けるヨケル」にしました。

プロジェクトを作成し名前をつける

 

背景に絵を入れます。
ページの右下にあるステージの枠の下のボタンをクリックします。

背景に絵を入れる

 

選択画面になったら「宇宙」をクリックします。
「 Neon Tunnel 」を選びましょう。

Neon Tunnelを選ぶ

 

ステージは次のようになります。

背景の入ったステージ

 

 

プレイヤーを動かそう

このゲームではネコのスプライトをそのまま使います。
作業をはじめる前に、ネコの名前を「プレイヤー」に変更します。

ネコの名前をプレイヤーにする

 

まずイベントから旗が押されたときを持ってきます。

ネコをそのまま使うには大きすぎるので小さくします。
見た目から大きさを100%にするを持ってきます。
大きさは 70 %に変更しましょう。

大きさを70%にする

 

プレイヤーはゲームが終わるまで操作できるようにします。
制御からずっとを持ってきます。

制御からずっとを持ってくる

 

動きからx座標を0にするy座標を0にするを持ってきます。

xy座標の指定するブロックを持ってくる

 

調べるからマウスのx座標マウスのy座標を持ってきます。
これでネコをマウスで操作できるようになりました。実行して試してください。

マウスの座標取得ブロックを使う

 

 

遊ぶ人のことを考えてみよう

実行してみると、マウスカーソルがネコの中心にあることが分かります。
基本的にこれでも問題ないのですが、タブレットで遊ぶ人のことを考えてみます。
おそらく操作する指でネコが見えにくくなると思います。

マウスカーソルがネコの中心にある

 

スプライトの位置をマウス座標より少し上に表示したいと思います。
マウスのy座標を外して 演算から○+○を持ってきます。

演算より足し算を持ってくる

 

マウスのy座標30 を足します。

マウスのy座標に30を足す

 

カーソルの位置がネコの足の所になりました。
これで指のタッチ操作でもネコが半分見えている状態になります。

カーソルの位置がネコの足の所になる

 

 

玉を表示しよう

玉のスプライトを用意します。
スプライトを選ぶ をクリックしましょう。

スプライトを選ぶをクリック

 

Ball を見つけてクリックします。

Ballをクリック

 

玉は小さくして使います。また、実行直後は隠しておきます。

まずイベントから旗が押されたときを持ってきます。
見た目から大きさを100%にする隠すを持ってきます。
大きさを 70 %にします。

大きさを70%にして隠す

 

ここで変数「スコア」と「残りの玉」を2つ作ります。
残りの玉数を表示することでクリアまでの目安にしてもらいます。

スコアと残りの玉の変数を作る

 

変数を初期化します。
「スコア」は 0 に、「残りの玉」は 5 に設定します。

残りの玉を5で初期化する

 

これから必要な数だけ玉を表示しますが、指定した回数を繰り返すブロックは使いません。
変数「残りの玉」だけで処理の流れを制御したいからです。こうするとバグが出難くなります。

指定した回数繰り返すブロックは使わない

 

制御から○まで繰り返すを持ってきます。

○まで繰り返すを使う

 

演算から○=○を持ってきます。

比較演算子=を持ってくる

 

変数「残りの玉」が 0 かどうか比較します。
繰り返しの中に残りの玉を-1ずつ変えるを入れます。
これで「残りの玉」が 0 になるまで繰り返しが行われます。

残りの玉が0になるまで繰り返す

 

繰り返しの中にランダムな座標で玉を表示する仕組みを作ります。
動きからx座標を○にするy座標を○にするを持ってきます。

座標指定のブロックを使う

 

演算から1から10までの乱数を2つ持ってきます。
それぞれ -100 から 100 までの乱数を作るように指定します。
乱数の範囲をステージの大きさより小さめにしました。出現するエリアを小さくすることで、プレイヤーに与えるストレスを少し抑えます。

-100から100までの乱数を作る

 

複数の玉を表示したいのでクローンを使います。
制御から自分自身のクローンを作るを持ってきて繰り返しの中に入れます。
何もない所にクローンされたときを置きます。

玉のクローンを作る

 

現在、玉は隠すにより見えません。この状態をクローンも引き継ぐため見えません。見えるようにします。
見た目から表示するを持ってきます。

玉クローンを表示する

 

実行して確認しましょう。
変数「残りの玉」は 5 をセットしているため、5回繰り返しが行われます。
つまり、5つの玉クローンが作られます。

玉が5つ表示される

 

「残りの玉」を 50 個に変更して実行してみましょう。
ランダムに 50 個の玉が表示されます。

玉を50個表示してみる

 

テストをした後は 5 個に戻してください

次回に続きます。