こんにちは。パンダのプログラミング研究所(@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風のゲームを作る方法を解説しました。
バイバイ!
コメント