みなさん、Scratch(スクラッチ)で色々なゲームを楽しんでいますか?

「なんか似たようなゲームばっかりになっちゃう」
「簡単すぎて面白くない」
なんて悩みもあるんじゃないでしょうか?

今回はおなじみのアクションゲームを
ワンアイデアでドキドキするアクションゲームにかえてしまいましょう。

https://scratch.mit.edu/projects/100746921/
WS0029
真っ暗なステージ
上下左右キーでキャラクターを操ってステージを進みます。

スポットライトはマウスで操作し、ステージの一部分だけを照らすことができます。

ステージの全容が見えないので、どんなトラップがあるかわかりません。
簡単に作れて、アレンジのしがいもあるゲームです。

では「中を見る」でスクリプトを見ていきましょう
 

スポットライトを作ろう

今回のゲームのキモであるスポットライトを作ってみましょう。
光っているように見えますが、Scratchのお絵描き機能で作れます。
すでに画像はありますが、作り方もおさらいしましょう。

WS0030
まず「新しいスプライトを描く」をクリックして

WS0031
 コスチューム編集画面の右下の
「ベクターに変換」というボタンをクリックして、ベクターモードにしましょう。

WS0032
つぎに「四角形」のボタンをクリック 

WS0033
描きたい場所にマウスでクリックして、
右下にドラッグすると、四角形が描けます。

WS0034
四角形をかいたら、画像をすこし回転させます。

WS0036
つぎに「形を変える」ボタンをおして・・・

WS0037
四角のはしのポイントをクリックすると
角がなくなって、三角になります。

WS0039
三角になったら、スポットライトのような形にしたいので
角のポイントをクリックで持って、びよーんとドラッグします。

WS0040
 反対の角も伸ばして、スポットライトのような形になったら
「図形の色」ボタンを押して、グラデーションにしましょう。

WS0041
バケツツールで画像にグラデーションをかければ
スポットライトの完成です。


WS0043
最後に、画面上部の「+」ボタンを押して
スポットライトの先が画像の中心になるように調節しましょう。

スポットライトの実装

スポットライトのスクリプトはこうなっています。
WS0045

message1がステージの始まりのメッセージ
Sprite7がキャラクターのスプライトです。
(実際にゲームを作るときはもっとわかりやすい名前にしましょう) 

「1層下げる」を使って
ステージの画像よりも後ろに表示しています。

こうすることで、スポットの画像よりもステージの画像が
前にくるので、スポットが当たった部分だけ
ステージが表示されているようにみえるのです。 

「Sprite7へ行く」で
キャラクターの座標と同じ場所に表示するので
キャラからスポットライトがのびているように見えます。

「マウスポインターへ向ける」でマウスの方向に
スポットライトを向けることができます。
「ずっと」の中に入れておかないと、マウスについてこないので注意です。


ステージの作り方

ステージはコスチュームで変更します。
WS0046
あたらしいステージを作りたい時は
スポットライトを作ったときと同じように
「新しいコスチューム」の「筆マーク」をクリックして
コスチュームを追加しましょう。

WS0047
ステージのスクリプトはこれだけです。
lvel(レベル)変数が、コスチュームの番号と連動しているので
ステージのレベルが上がれば、自動的にステージのコスチュームが変わるしくみです。

キャラクターを動かそう

以前にも、キャラクターを色んな方法で動かしてきましたね。
今回もそんなにキャラクターの移動は変わりません。
スクリプトはこんな感じ。
(むずかしい人は、わからなくてもこのまま使ってみましょう)
WS0048
ちょっと長いので、途中で切ってます。
まずは変数やキャラクターの位置を、初期化(一番はじめのじょうたいに)します。

xvel・yvelは、xの移動量・yの移動量をいれておく変数です。
キャラクターの移動をなめらかにするために、つかっています。

「Sprite8に触れたら」の部分はスパイクに触れたときの設定です。
マップに出てくるトゲにあたると、ステージの最初からやり直しなので
キャラの場所をかえています。

「Sprite2に触れたら」の部分が、ステージに触れたときの設定です。
ステージに触れていれば、yの移動量を0にします。

ステージに触れていなければ、空中にいる状態ですので
yの移動量をマイナスにして、落下させます。

ステージ上で「上向き矢印キーがおされたら」
yの移動量をプラスして、ジャンプします。

つづいて、x座標(よこ移動)のスクリプトです。
WS0049
こちらも
「Sprite2に触れたら」の部分が、ステージに触れたときの設定です。
ステージに触れていれば、xの移動量を0にします。

さっきy座標の設定で「上矢印キーが押されたら」の設定をしましたよね?
また登場しているのはなぜでしょうか?

このx移動時の判定で、上矢印キーの確認をすることで
壁にバウンドしながら登ることができるようになります。

あとは、左右の移動をそれぞれ設定すればOKです。
左右の移動時にy座標をすこしだけ変えることで
ピョンピョンと弾みながら移動しているように見えます。

WS0050
 さいごに、ステージのはしまできたら、つぎのステージに進む設定。
ここで「レベルの変数を+1」することで、ステージのコスチュームがかわります。
そしてキャラの位置を、もとにもどします。

さいごに

以上でまっくらやみアクションの説明はおわりです。
スポットライト以外は、ふつうのアクションゲームと同じでしたね。

このように「ゲーム内の要素をなにかひとつ不自由にする」ことでゲーム性はグンと高くなります。
自分の作ったゲームが簡単すぎる・・・と感じたときは
ユーザーから視覚を奪うというのもひとつの手です。

迷路ゲームや脱出ゲームにも応用できますし、
おちものパズルでもhidden(画面途中で見えなくなる)などのオプションがありますね。

みなさんも、いろいろなアイデアでゲーム作りを楽しんでください。

この記事がよかった!という方は「B!」ボタンや
こちらのボタンを押していただけると元気がでます!