urouro


以前[いぜん]RPGのマップの作り方を紹介[しょうかい]しましたが
実際[じっさい]どうやってゲームに[][]めばいいのか、わかりづらいと思いましたので
今回は「ダンジョンゲーム」を作って
マップチップを使ったマップ作りを活用してみたいとおもいます。

サンプルゲームはこちら
WS1119

↑↓→←キーでキャラをうごかします。
[てき]にあたると[たたか]います。

いちど遊んでみて、どんなかんじになるか見てみて下さい。


それでは、つくりかたをみていきましょう。


Scratchでダンジョンをつくってウロウロさせよう

マップチップをならべてみよう

[ゆか]を作ろう

RPGのマップを作ったときもそうでしたが
まず「[ゆか]」を作って、それからブロックを[なら]べていきましょう。

いちから作りたい人用に、空のプロジェクトも用意しました。

WS1120

[ゆか]のマップチップは16×16でつくってあり、これを200%で使います。
(つまり32×32のチップになる)

フロアスペースは320×320でつくってあります。

なので[ゆか]を10マス×10マスで[なら]べて行けば
ピッタリはいる計算になりますね。
WS1122

フロアにこんなふうにプログラムしてみましょう。
タイルは、[かく]していてもスタンプできます。

内側[ないそく]の「10回[][かえ]す」でヨコを10回スタンプ
外側[そとがわ]の「10回[][かえ]す」でタテをずらします。

これで100マスが[ゆか][]められました。
はたを[]して、ちゃんとできているか確認[かくにん]しましょう。
WS1123

ちゃんと動いていることがわかったら
定義[ていぎ]ブロック」にしてしまいましょう。

定義[ていぎ]ブロックにまとめよう


「その[ほか]」カテゴリの「ブロックを作る」ボタンをクリック

WS1127

再描画[さいびょうが]せずに実行」にチェックをいれます。
これで、[ゆか]タイルが一瞬[いっしゅん]で出るようになります。


定義[ていぎ]ブロックがあらわれたら
さっき作ったプログラムを、この定義[ていぎ]ブロックに組み合わせます。

WS1126

「その[ほか]」の中に新しくできた「はいけいをかく」のブロックを
かわりに「[はた]がおされたとき」に組み合わせておきましょう。

これで、もういちど[はた][]して
きちんと背景[はいけい]がでるか ためしてみましょう。

カベなどのマップデータをつくろう

[ゆか]ができたら、カベや階段[かいだん]も作りましょう。
まず、「フロア」という「リスト」を作ります。


WS1128

がめんに表示[ひょうじ]されたら
「カベは1」「かいだんは4」「なにもないところは0」で
マップのデータを作っていきましょう。

リストは改行[かいぎょう]できないので
リストの表示[ひょうじ][はば]が10になるように調整して、書いていきましょう。


Scratchのリストでマップ作るのムズイな…と思った人は
テキストエディタで
右端[うたん][][かえ]す」にチェックを入れれば
同じようにマップデータが作れます。
WS1130

Scratchのリストはコピペできるので
メモ帳で作っておいてあとでコピーすればOKです。

カベや階段[かいだん]をおいてみよう

[ゆか]と同じように、定義[ていぎ]ブロックを作りましょう。

WS1131

こんどは「フロアをかく」という定義[ていぎ]ブロックで
数値[すうち]で「かいすう」という引数を作りましょう。

ここでも「再描画[さいびょうが]せずに実行」にチェックをいれます。



定義[ていぎ]ブロックができたらプログラムしていきましょう。
ブロックが多いですが、さっきの「はいけいをかく」プログラムと
ほとんど同じです。

ここでカウンターに使っている「i」変数[へんすう][ほか]のスプライトとかぶらないように
「このスプライトのみ」で作るようにしましょう。


WS11352


もしブロックの中がゴチャゴチャしていますが
WS1140
この部分で、引数でわたされたフロア(リストの○番目[ばんめ]

WS1141
こうすると、フロアの「i」番目[ばんめ]の文字

WS1142
さらにこうして
「フロアのi番目[ばんめ]の文字が1だったらカベをスタンプ」

となります。

[はた]をクリックして確認[かくにん]してみると
WS1145
こんなかんじで
リストの中身とおなじマップができました!



キャラをウロウロさせてみよう

キャラをつくろう

キャラの絵は、こんなかんじで
ウディタのグラフィック合成器[せいき]を使って作りました。

ウディタグラ

グラフィック合成器[せいき][くわ]しい使い方はこちら
グラフィック合成器[せいき]を使ってみよう-はじめてのウディタ挫折[ざせつ]して[ふたた]


画像[がぞう]分割[ぶんかつ]するのは
PL_ImageConstructor便利[べんり]です。


コスチューム名には「向き」と「番号」をつけておきましょう。
WS1146


アニメーションさせてみよう

キャラの準備[じゅんび]ができたら、アニメーションさせてみましょう。
今回は前右左後の4方向があり、それぞれ2コマのアニメーションなので
こんなふうにしてみます。

WS1147

「方向」変数[へんすう]のなかに、どの向きを向いているかを入れておきます。
方向とアニメーション番号(0か1)で
コスチュームをきりかえましょう。


つぎに、↓キーで下向きに進めるようにしましょう。

WS1149

1ブロックが32ピクセルなので、キャラも1回の移動[いどう]で32ピクセル動きます。
はじめに進ませてみて、ブロックがあればもとにもどします。

1歩が32ピクセルだと速すぎるので
2歩で32ピクセル進むように(1歩が半分の16ピクセル)にします。

キーを[]しっぱなしで進めないように
「キーが[]されたではない(キーがはなされるまで)」待つを入れましょう。



同じように、↑キーが[]されたプログラムも作ります。
WS1150

↓キーとほとんどプログラムは同じですが、
座標[ざひょう]のプラスとマイナスが[ちが]ので注意しましょう。


右と左も同じように作ります。(クリックで拡大[かくだい]WS1151

これもほとんどプログラムは同じですが
座標[ざひょう]ではなくx座標[ざひょう]になるので注意しましょう。


これでプレイヤーの移動[いどう]完成[かんせい]です。
をクリックして動かしてみましょう。


つぎのフロアに移動[いどう]させてみよう

つぎのフロアのマップを作ろう

まずはフロア配列に2番目のフロアを作って追加[ついか]しましょう。
WS1152
+をクリックするとリストの2番目、3番目…とドンドンふやすことができます。


フロアがふやせたら、「タイル」もフロアごとに
[なら]べられるようにしましょう。

WS1153

「次のフロア」というメッセージを作ります。
次のフロアを受け取ったら、回数をふやして
「フロアを書く」の定義[ていぎ]ブロックに
「かいすう」変数[へんすう]を組み合わせましょう。


これで、次のフロアになったら、フロアを[][]えられるようになりました。


つぎは、プレイヤーが階段[かいだん][さわ]ったら
そのフロアのステージがクリアになるようにしましょう。

WS1155

階段[かいだん]にさわったら、いったん「このスクリプトを止める」をします。
つぎのフロアになったら、またこのメッセージがよばれるので
[ふたた]階段[かいだん]判定[はんてい]がオンになります。


さいごに、そのフロアのステージをクリアしたら
テロップを出しましょう。


WS1157


ゲームオーバーとゲームクリアも
同じようなプログラムなので、一緒[いっしょ]に作ってしまいましょう。
(あとからつかいます)


できたらをクリックして
階段[かいだん]を下りてみましょう。

テロップが表示[ひょうじ]され、フロア2が表示[ひょうじ]されていれば成功[せいこう]です!
WS1159


つづく

かなりボリュームがでてしまったので
[てき]キャラの追加[ついか]や、カギつきブロックのついかは
また次回やります!