お知らせ
twitterにはポツポツ進捗を投稿していたのですが、作成中のゲームアプリ「CutieCircuite」の作成が佳境に差し掛かっており、なかなかブログが更新できずにいました。
ここにきて大体出来上がってきたので、自慢がてらにゲーム画面を投稿してみたいと思います。(twitterに投稿した画像を再利用しているとか言わないよ絶対)
こんな感じ、
メニュー画面とステージ選択画面です。
果たしてIndie game festival 2018の締め切りまでに間に合うのか・・・
本題
さて、上の画像はPC上のデバッグ画面をキャプチャしたものですが、これを実際の携帯端末で動かしてみると困った問題が。
キャラクターの名前が表示されない
(上の画面の右上部分のカッコ内が空欄で表示される)
キャラクターの名前は下のキャラクター選択画面で入力された名前が反映されるはずなのですがPC上では問題ないのに携帯で動かすと上手くいかない(何度目だ)
(ここで入力した名前が反映されない)
原因がわからずに頭を抱えていたのですが、色々調べると名前入力時に問題があることが判明。
InputFieldに入力した内容を、そのまま背後にある表示用フィールド(TexMeshProUGI)へ渡していたのですが、その時SetTextメソッドを使っていました。
PC上で動かすと
- InputFieldの入力完了イベントでInputFieldの内容を表示用のTexMeshProGUIへSetText()メソッドを使って設定する。
- キャラクター選択画面からメニュー画面遷移時に、名前表示用のTexMeshProGUIのtextプロパティの内容をScriptableObjectに設定する
- メニュー画面表示時にScriptableObjectからtextの内容を取得して名前表示用のFieldへ設定する
上記のような処理が上手く行われるのですが、携帯上ではSetText()メソッドを使っても、TexMeshProGUIの画面に表示される内容は更新されても、textプロパティの値は更新されないことが判明。
なのでSetText()メソッドは使わずにtextプロパティを直に設定するように変更すると・・・
ちゃんと表示された!!
ハァ、これで3時間ぐらい費やしたし・・・