皆様こんにちは、新入社員の森です。
突然ですが皆さまは文を読んだり書いたりするのは得意ですか?僕はとても苦手です…。
つまり、今回で2回目のブログ担当になりますが、現在出だしから非常に苦戦しています。
Demo3Dの勉強以外に読み書きの勉強も必要そうですね…。
さて、気を取り直して、今回は前回の宣言通り展示会用に作成したモデルのスコア機能の実装の部分について
書いていきたいと思います。
前回はワークをかごに入れることで上に表示されているカウント数が増え、
4/4になったときにワークが消去されカウント数がリセットされるところまでを行いました。
今回実装するのはさらにゲーム要素を持たせるため、4/4になったときカゴの中のワークの情報によって
スコアが表示される機能です。
まず、このゲームのルールは、カゴの上のカウントの文字の色と同じ色のワークを入れていくというものになります。
なので、高得点を取るためにはワークの色が正しい必要があります。
今回書いた得点の算出方法はあらかじめ最高得点の300点という数字を用意し、
そこから減点方式でスコアを計算していきます。
4/4になったときのかごの中のワークを一つずつforループで見ていき、
それぞれのワークのColorと、カウントのテキストのColorが等しくなければ、
そこからマイナスといった処理が行われるようにします。
これで、ワークの色によるスコア計算の部分の完成です。
また、もう少し楽しめるほうがいいと思ったので、かごに積まれたワークの綺麗さでもスコア計算がされるようにしてみました。
積まれたそれぞれのワークの回転角度と座標をみることで、
ワークが傾いていたり、カゴからはみ出していたりなどを判定します。
細かい判定方法や計算内容は少し長いので省略しますが、以上の処理が終わった段階の合計がスコアになります。
あとはスコアを表示させたいところにvisibleをfalseにしたテキストを作成し、このスコアを反映させて、
visibleをtrueにします。
スコアのほかに、スコアによってコメントと文字の色が変わるようにもしてみました。
あとはwaitで表示させていたい時間を待たせて、visibleをfalseに切り替えてスコアの表示を消します。
これで、それぞれのかごでスコア機能を実装することができました。
ただ、このままでは若干ゲーム性が足りない気がしたので、もう一つ、それぞれのかごで出したスコアの合計と
時間制限を作ってみました。
(※画像のセンサー等はLayerで非表示にしています。)
トータルスコアを出すためのテキストを作り、
それぞれのかごでスコアが出たタイミングでそこに足していくようにします。
制限時間については、ボタンが触れたタイミングでタイムのカウント数を減らしていき、
flagでタイムが動いていないときはセンサーが動かないようにします。
これで大まかな構成は完成になります。
あとは細かい調整だけなので、この記事での紹介は以上となります。
ここまでお付き合いいただき、ありがとうございました。
展示会のモデル作成は自分にとってもいい経験になったと思います。
ただ、スコアの減点数を高くしすぎたせいで、ゲームバランスが悪くなってしまったのが少し心残りですね…。
(時間の関係でゲームバランスが見直せていませんでした…。)
特にVRでやるとかなり難しいようなので、もう少し簡単な難易度にするべきだったと思います。
次回は、せっかくなので展示会で出した時よりさらに面白くなるように調整して
記事にしてみたいと思います。
コメントをお書きください