Closed Parasuatene closed 2 years ago
プロトタイプの制作完了。
@tr-tkd Unityタスクに取り掛かる際に一つ調べてほしいことがあります。
今回は3つのステージから1つを選ぶということは、選んだステージに応じて、ゲーム画面で降ってくる漢字が変化するという仕様になると思う。 その際、各ステージのSceneを作成するべきなのか、それともステージの値をセットしておいて、それに応じて降ってくる漢字を変えるべきなのかは考えるポイントかなと思うんよね。
なので、そのあたりの関連ページを調査して結果を記載しておいてもらえると助かる。
ステージ名のデザインを変更
困りごと テキストコンポーネントにレイヤーがないから、画像たちよりも前に配置することができない。 やりかたを調べてみる。
解決。 CanvasのOrder in Layerを0以上に設定するとよい。
サイトでは、PlaneDistanceをいじっていた。
[ステージ選択画面からゲーム画面への遷移実装イメージ]
[開発手法] ステージ選択画面からゲーム画面への情報の受け渡しはpublic staticで行う。 理由1:DontDestroyOnLoad()はオブジェクトを渡したいわけではないので不適。 理由2:PlayerPrefは値を渡す目的だけで使うのは微妙。
[個人的懸念点] public static だと保守性が低い?private staticにして、プロパティでゲッターを作ったほうが良い? 参考サイト:https://turedureengineer.hatenablog.com/entry/2018/10/01/124330 ただ、今回はそこまでこだわらなくてもいいのかなとも思ってる。
[結論] 今回はpublic staticを採用
public enum StageMode
{
ALL,
GAKUNEN_1 = 1,
GAKUNEN_2 = 2
}
// 参照方法
StageMode.ALL
ボタンに付与するメソッドに引数を用意しておけば、インスペクター上で値をセットできるらしい笑 https://qiita.com/Maru60014236/items/f9ca757e8ce352debbbd
なので、ボタン分だけメソッドを用意する必要もないかも
ボタンに付与するメソッドの引数にENUM型を指定すると、inspecterでそのメソッドが選択できないっぽい。 引数をint型にして void メソッド名(int num) { stageMode = (StageMode) num; LoadScene() } みたいにすればinspecterでメソッドを選択できるようになったけど、inspecterでint型を入力するんだったらENUMにしている意味がないので、前のまま3つメソッドを用意する形でいこうと思う。
[報告] ステージ選択の最低限の機能は実装完了。 ただ、最高記録だけは実装していないです(画像参照)。
バックログ
No. 24
やること
参考サイト