ohshimatani / groupA_AcceLance

2 stars 0 forks source link

ステージ選択を実装する #42

Closed Parasuatene closed 2 years ago

Parasuatene commented 2 years ago

バックログ

No. 24

やること

参考サイト

tr-tkd commented 2 years ago

プロトタイプの制作完了。

tr-tkd commented 2 years ago

image

Parasuatene commented 2 years ago

@tr-tkd Unityタスクに取り掛かる際に一つ調べてほしいことがあります。

今回は3つのステージから1つを選ぶということは、選んだステージに応じて、ゲーム画面で降ってくる漢字が変化するという仕様になると思う。 その際、各ステージのSceneを作成するべきなのか、それともステージの値をセットしておいて、それに応じて降ってくる漢字を変えるべきなのかは考えるポイントかなと思うんよね。

なので、そのあたりの関連ページを調査して結果を記載しておいてもらえると助かる。

tr-tkd commented 2 years ago

ステージ名のデザインを変更

image

tr-tkd commented 2 years ago

困りごと テキストコンポーネントにレイヤーがないから、画像たちよりも前に配置することができない。 やりかたを調べてみる。 image

tr-tkd commented 2 years ago

解決。 CanvasのOrder in Layerを0以上に設定するとよい。

サイトでは、PlaneDistanceをいじっていた。

参考サイト https://tama-lab.net/2018/06/%E3%80%90unity%E3%80%91%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%92%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E5%BE%8C%E3%82%8D%E3%81%AB%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B-2/

tr-tkd commented 2 years ago

image

tr-tkd commented 2 years ago

ボタン遷移はこのサイトを参考に実装

https://dianxnao.com/%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%A7%E3%82%B7%E3%83%BC%E3%83%B3%E9%96%93%E3%82%92%E9%81%B7%E7%A7%BB%EF%BC%88%E7%A7%BB%E5%8B%95%EF%BC%89%E3%81%99%E3%82%8B/

tr-tkd commented 2 years ago

[ステージ選択画面からゲーム画面への遷移実装イメージ]

[開発手法] ステージ選択画面からゲーム画面への情報の受け渡しはpublic staticで行う。 理由1:DontDestroyOnLoad()はオブジェクトを渡したいわけではないので不適。 理由2:PlayerPrefは値を渡す目的だけで使うのは微妙。

[個人的懸念点] public static だと保守性が低い?private staticにして、プロパティでゲッターを作ったほうが良い? 参考サイト:https://turedureengineer.hatenablog.com/entry/2018/10/01/124330 ただ、今回はそこまでこだわらなくてもいいのかなとも思ってる。

[結論] 今回はpublic staticを採用

Parasuatene commented 2 years ago

Enumの宣言と参照方法

public enum StageMode
{
    ALL,
    GAKUNEN_1 = 1,
    GAKUNEN_2 = 2
}

// 参照方法
StageMode.ALL
Parasuatene commented 2 years ago

ボタンに付与するメソッドに引数を用意しておけば、インスペクター上で値をセットできるらしい笑 https://qiita.com/Maru60014236/items/f9ca757e8ce352debbbd

なので、ボタン分だけメソッドを用意する必要もないかも

tr-tkd commented 2 years ago

ボタンに付与するメソッドの引数にENUM型を指定すると、inspecterでそのメソッドが選択できないっぽい。 引数をint型にして void メソッド名(int num) { stageMode = (StageMode) num; LoadScene() } みたいにすればinspecterでメソッドを選択できるようになったけど、inspecterでint型を入力するんだったらENUMにしている意味がないので、前のまま3つメソッドを用意する形でいこうと思う。

tr-tkd commented 2 years ago

[報告] ステージ選択の最低限の機能は実装完了。 ただ、最高記録だけは実装していないです(画像参照)。

image