たまには開発記事を・・・
最近Unityを触っていなかったので、
お勉強がてら「スイカゲーム」に似た落ち物ゲームをつくってみることにしました。
流行りに乗り遅れている気もしますが・・・
本家の「スイカゲーム」をやったことがなく、
ゲーム配信等で見ているだけですが
物理演算や落ちるものの重さ設定等が細かくされていると思います。
物同士がくっつく際の衝撃・・・
「なんで飛び出すんだ!!」ってなっているアレですね(笑)
ただ筆者は初心者なので、
2~3時間程で出来るレベル&ホーム画面からの遷移なしの
簡易バージョンを作ることにしました。
簡易版の目標!
物理演算などの難しいことはやれないので・・・下記目標でつくってみました。
- PCのマウス操作で移動&落とす
- 落としたい場所から物が落ちること
- 物同士が合体すること
- スコアが加算されること
今回、「背景」と「落とすオブジェクト」は下記アセットを使用しました。
冬バージョンにすれば、きっとやる気が出るかなぁと思いまして・・・
Unityのバージョンは「2021.3.25f1」です。
最新で作っているつもりでしたが、途中で気づいたことは内緒です。
ざっくりやったこと
実際に書いたコードのポイントをまとめてみました。
(細かい点は省略です)
- PCのマウス操作で移動&落とす
- 落としたい場所から物が落ちること
→PCの座標とゲーム内の座標を取得する
→動かせる範囲を制限する
→マウスをクリックしたときに物を落とす
- 物同士が合体すること
→同じもの同士だったら合体して次のオブジェクトに変化する
→タグと変数で落ちるものを管理する
→RigitBodyのコンポーネント設定
- スコアが加算されること
→物同士がくっつく時に加算させる
目標は達成できたので良しとします
当たり判定も甘々でUIも微妙ではありますが、良しとします!(自分にも甘いですw)
スタート画面はこんな感じです。シンプルにスコア表示だけです。
白い線より上にある雪の結晶がマウスで操作している分です。
当たり判定が甘いので隙間が空いちゃっていますね。。。
白い線を越えるとゲームオーバーになる仕組みです。
最後に
Unity初心者の教材として「すいかゲーム」のような落ち物ゲームを作ってみることは
大変勉強になるのではないかなと思います!
また出来そうなゲームがあれば作ってみます・・・
ここまで読んでいただき、ありがとうございます。