【Scratch】3D風ゲームを作る方法を解説

Scratch

こんにちは。パンダのプログラミング研究所(@PandaProgramLab)へようこそ!

今回は、コスチュームをスタンプさせる方法を使った3D風のゲームの作り方を解説します。

縦と横だけでなく、奥行きを表現することで、3Dを再現します。

それでは、スタート!

コスチュームの用意

まず、コスチュームの用意をします。

今回は、3D風のアクションゲームを作っていきたいので、ステージとプレイヤーのコスチュームを作ります。コスチュームは平面で大丈夫です。

今回は、以下のようなコスチュームを作りました(今回は3Dに重点を置くので、ステージやゲーム内容はあまり凝っていません)。

ステージを3D風にする

まずは、ステージを3D風にします。

ステージは、以下の画像のように奥から手前に向かって幽霊の効果(透明度)をなくしながら、だんだんコスチュームを大きくして、y座標(縦の座標)を少しずつ下げていくことで、奥行を出します。

ずれていてすみません…

それでは、プログラミングをしていきましょう。

まず、大きさを70%位の状態で表示して、幽霊の効果を50にします。y座標は50にしておきます。幽霊の効果とy座標の数字、大きさはいくつでもいいですが、幽霊の効果とy座標の数字は同じにするのがポイントです。

次は、y座標と幽霊の効果を1ずつ下げてスタンプするプログラムを作りましょう。下げるときは、-(マイナス)を使います。

スタンプは、拡張機能の中にある「ペン」のカテゴリーの中にあります。拡張機能はとても便利なので、覚えておくとよいでしょう。

「スタンプ」を前にも表示しているのは、先ほど作った最初の場所の表示がされないからです。

そして、プログラムの最初に、「全部消す」を入れておきましょう。これで初期化ができます。また、プログラムの最後に「隠す」を入れておきましょう。こうすることで、幽霊の効果が分かりやすくなります。

このプログラムは、以下のような挙動をします。

拡大してみると、横の長さは同じですが、少し奥行が出ていますよね。

次は、大きさを変えるプログラムを作っていきます。大きさは、少しずつ変えていきましょう。大きさは、100から大きさを引いた数÷100から幽霊の効果を引いた数 ずつ変えると、ちょうど画面内に収まるようになります(コスチュームの大きさがScratchのステージの大きさの480*360の場合)。

プログラムは以下のようになります。

こうすると、大きさも少しずつ変わります。

あとは、これを100から幽霊の効果を引いた数回繰り返せば、ステージが3D風になります。

プログラムの完成形です。

ステージのプログラム

以下の画像のように、ステージを3D風にすることができました。

豆知識

このプログラムをブロック定義にして、「画面を再描画せずに実行する」にチェックを入れて実行すると、一瞬でこのプログラムを実行できます。

プレイヤーを3D風にする

今度は、プレイヤーを3D風にしていきます。

実は、先程の方法は、丸いもの(今回のプレイヤーは球をイメージしています)には適していないのです。先程の方法を使って今回のプレイヤーを3D風にすると、以下のようになります。

どうですか?多くの人がこれは3D風になっていないと思うでしょう。

そこで、今回は、後ろから前にだんだん小さくしていって、球を表したいと思います(そのために目と球のコスチュームは別にしました)。幽霊の効果ではなく、明るさの効果を変えたいと思います。

今回は、複製にクローンを使います。

クローンとは、コスチュームを複製するもので、スタンプと違う点は、クローンしたコスチュームが動かしたり隠したりすることができるという点です。

なぜスタンプを使わないのかというと、上記のように、クローンはクローンしたものが動かせますが、スタンプは動かすことができないので、動くことができるプレイヤーのスプライトはクローンを使っています。

プログラムは以下の通りです。一つずつ解説していきます。

まず、そのままの状態でクローンをします。

次に、明るさの効果とと大きさを5ずつ変えながらクローンをしています。これを20回繰り返しています。

最後に、目の部分をクローンして、終わりです。

クローンを使う場合は、必ず、「クローンされたとき」を定義してください。

最後に、ステージの豆知識にも書いた、定義化して、「画面を再描画せずに実行する」にチェックを入れます。こうすることで、プログラムが一瞬で実行されます。

これで、プレイヤーを3D風にすることができました!

プレイヤーを動かすプログラム

次に、プレイヤーを動かすプログラムを作ります。

もともとのコスチュームを動かして、それをクローンがついてくる感じにしたいと思います。

プレイヤーを動かすプログラムは、以下の記事を参考にしてください。

 

プレイヤーを動かすプログラム(3D風の場合)は、以下のようになりました。

これで、プレイヤーの移動プログラムができました!

まとめ

いかがでしたでしょうか?今回は、Scratchで3D風のゲームを作る方法を解説しました。

バイバイ!

コメント

タイトルとURLをコピーしました