ぼくの息抜き

ぼくの息抜き

気ままな二人が記事を書くことで息抜きしていくブログ

CSS MenuMaker

unityゲームプログラミング 雨を降らすゲームを作るPart1

f:id:bokunoikinuki:20180621201305p:plain

脳トレゲーム -BrainGame-

放置系ゲーム -SimaGame-

と二つ作ってきた。

SimaGameは正直物足りない。

作り込みたい機能を自分のUnityのレベルに合わせて排除してしまったからだ。

まぁでもとにかくアプリを数作ることでUnityのゲーム作成テクニックを身につける方向性だから構わない。

次のゲームのテーマはSimaGameで物足りなかった。

成長要素

Particleを使って雨を降らすゲーム

壁一面に貼ってあるホワイトボードを使ってゲームの大まかな流れ、UIを考えた。

f:id:bokunoikinuki:20180624102902j:plain

自分がゲームを続けてやりたいと思うときは新しい要素がまだ解放されていないときが多い。

ただ、今回は普通に成長できればよしとする。一歩ずつ成長していこう。

現時点で壁はあるか?

まずは今回の肝となる雨を降らす機能はゲーム構想の時点でParticleを使ってテストをしたので問題ない。

ただ、Particle Systemの数値を変えられるかは先に試す必要がある。

Particle Systemの数値さえ変えられたらもう今想像できる壁は見当たらない。

あと今回はUI関連でおしゃれなものを見つけたい。

フォントも少し手書きのような可愛いものを入れたい。

あとはお得意の変数の数字をいじればいいだけだ。と思う。ということで早速進めていく。

RainGame作り始める

  • Particle Systemの数値を変えられるか調べる
  • フォントを追加する

ParticleSystemに入ることは無事できた。

リファレンス:ParticleSystem - Unity スクリプトリファレンス

が、ゲーム開始で毎回雨の降る時間を指定し直そうとおもってdurationの数字直接書き換えようとするとエラーが出て再生できない。

なんでだと調べてみると,durationはRoadOnlyだった。

リファレンス:ParticleSystem.duration - Unity スクリプトリファレンス

GetComponent<ParticleSystem>().Stop();で簡単にParticleSystemを止めることができたので特に問題なかった。

  • durationはReadOnly
  • 時間によって止めたいならStop,Playを使えばなんら問題ない

今回のゲームの最大の壁は超えた?次フォント

最大の壁は超えた。なんと低い壁だったのだろうか。自分の成長を感じる。笑

さて次はフォントを入れる。

フォントを使ってゲームの見栄えを良くしよう – Unityインターハイ公式ブログ

フォントでの違いがよくわかる参考記事。

フォントの入れ方

参考記事:UnityのuGUIで外部フォントを使う

うわあああ、超簡単。今まで外部フォント使ってこなかったのが勿体無い!

なぜかボタンが反応しない

うーん、原因が全くわからない。

UnityでButtonを押しても反応がないとき

Rayでもない。んでいろいろ弄って最終的にCanvas作り直したらなんてことないように動き出した。

違うプロジェクトからScene移したのが問題な気がしてきた。

何が理由かはっきりしないがあまり違うプロジェクトからsceneをコピーしないほうがいいかも。よくわからないから断言しないでおこう。

ボタン作り直したり、色々時間がかかったが、またひとつ勉強になった。