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

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

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

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

4.せまいよゲームを作ろう①

 

すばやくタッチ」ゲームはちゃんと作れましたか?

分からない所があっても先に進んでください。
そこで学習が止まってしまうよりはいいです。
そして、いくつかゲームを作ってみてからもう一度初めから学習すると、より深く理解できるようになります。

 

 

これから作るゲームは?

前回よりも少しレベルを上げていきます。
スプライトを3つ使ったシンプルなゲームにしました。

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

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

実行するとネコが歩き出します。
ステージをクリックするか、スペースキーを押すと方向転換します。
歩いているときスコアが増えます。
左右の人に当たるとゲームオーバーです。
つまり「できるだけ左右のキャラに当たらず歩き続けられるか」というゲームです。

パソコンはもちろん、キーボードのないタブレットでも遊べるようにしました。
クリック(タッチ)はステージで調べているため、ネコなどのスプライトをクリックすると反応しません
まぁ、バグとも言える動作ですが、学習素材として簡単にするためそのままにしました。

 

 

背景を入れよう

さっそく始めます。アカウントにサインインして作業してください。
作るをクリックします。

プロジェクトを作成する

 

エディタ画面が開いたら作品名を入れましょう。
ページ上の中央にある共有ボタンの左に作品の名前を入力します。
私は「せまいよ」にしました。

作品のタイトルを入れる

 

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

背景に絵を入れる

 

背景の絵の一覧が表示されます。
「wal」で検索してください。そしてWall 1をクリックします。

wallの絵を背景に選ぶ

 

ステージに背景が入りました。

背景に絵を入れた状態

 

 

ネコを歩かせよう

ネコを歩かせたいと思います。

その前に、スプライトの名前を変更しましょう。
下図のように名前を「プレイヤー」に変更します。
すると、アイコンの名前も変わります。

スプライト名をプレイヤーにする

 

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

旗が押されたときを使う

 

制御からずっとを持ってきます。

ずっとを使って繰り返し

 

動きから10歩動かすを持ってきます。
10歩だと速すぎるので、値を 6 に変更します。

6歩動かすの命令を用意する

 

実行したときの初期位置を指定します。
動きからx座標を◯、y座標を◯にするを持ってきます。
xを 0 yを -60 に変更しましょう。

プレイヤーの初期位置を設定する

 

実行してみましょう。
ネコが右へ歩き出せば成功です。

実行するとネコは右へ動き出す

 

 

入力イベントを作ろう

ゲームなのでプレイヤーを操作する必要があります。
通常はその仕組みをプレイヤーのところに作ります。
今回は、ステージをクリックして操作したかった、他のキャラも同時に動かしたかった、 という2つの理由からステージに作ります。

右下にあるステージのアイコンをクリックしましょう。

ステージアイコンをクリックする

 

イベントからスペースキーが押されたときを持ってきます。

スペースキーが押されたときを使う

 

イベントからメッセージ1を送るを持ってきます。

メッセージ1を送るを使う

 

新しいメッセージ名を作ります。
まずメッセージ1をクリックして新しいメッセージをクリックします。

新しいメッセージを作る

 

新しいメッセージ名をタッチにしました。
ステージをタッチしたときもこのメッセージを使うので、この名前にしました。

新しいメッセージをタッチにする

 

ステージをクリック(タッチ)したときの仕組みも作ります。
イベントからステージが押されたときを持ってきます。

新しいメッセージをタッチにする

 

タッチを送るをコピーしましょう。
まず、右クリックでメニューを出し複製をクリックします。

タッチを送るをコピーする

 

ステージが押されたときの下につなげます。
これでスペースキーを押したときとステージをタッチしたときの入力イベントができました。

ステージが押されたときの下につなげる

 

 

プレイヤーを反転させよう

入力があったらプレイヤーを反転させたいと思います。

スプライト一覧からプレイヤーアイコンをクリックしましょう。

ネコのスプライトアイコンをクリックする

 

プレイヤーのプログラムを作っていきます。
イベントからタッチを受け取ったときを持ってきます。

タッチを受け取ったときを使う

 

動きから15度回すを持ってきます。
180 に変更します。

180度回すを使う

 

実行してスペースキーを押したり、ステージをタッチしてみてください。
ネコの移動が反転します。ただ、絵もひっくり返ってしまいますね。

ネコの移動が反転するが絵もひっくり返る

 

ひっくり返らないように制限します。
動きから回転方法を左右のみにするを持ってきます。

回転方法を左右のみにするを使う

 

ひっくり返るという問題は解決しました。
しかし、このままだとゲームを開始したとき、動き出す向きが直前の状況により変わってきます。 このままでも構わないレベルの話なんですが、制作者が意図しない動きをするのはよくありません。
私は「押すタイミングでスコアの良し悪しが変わるゲームにランダム要素は必要ない」と思っているので、開始時の向きを固定したいと思います。

動きから90度に向けるを持ってきます。
これで必ず右向きに歩き出します。

90度に向けるを使う

 

続きます。