2026年01月26日 活動日誌

運営

概要

クルクルシューティング

ストーリモードの遷移とか効果音の追加とか。
あと、ステージ解放機能も追加。

カタカタの効果音が途切れているのは効果音のバッファーオーバーによるものですが、
それっぽい雰囲気があるのでこのままにしようかと思います。

ステージ解放機能

ステージ解放機能の設定として、ステージ一覧の設定CSVファイルに
RequiredClearIDを追加し、そこに設定されたステージIDがクリア済み
かどうかで選択可能かを判断するようにしています。

クリア状態はゲームを閉じても残しておくため、PlayerPrefsに設定。
(将来的にはDB管理が必要だけど)

    private bool IsStageUnlocked(StageListDefine data)
    {
        if (string.IsNullOrEmpty(data.RequiredClearID)) return true;
        return PlayerPrefs.GetInt("Cleared_" + data.RequiredClearID, 0) == 1;
    }
                bool unlocked = IsStageUnlocked(stageListDataSet[stageNumber]);
                Button buttonComponent = stageSelectButtonIns.GetComponent<Button>();
                if (buttonComponent != null)
                {
                    buttonComponent.interactable = unlocked;
                }
ボタンの選択状態

あと、初期表示にボタンが選択状態になっていなくて対応中。
単純に強制的に選択状態にするには、EventSystemのcurrentに対して
SetSelectedGameObjectで対象のGameObjectを設定すれば
選択状態になります。

 EventSystem.current.SetSelectedGameObject(buttonComponent.gameObject);

ただ、選択状態というのは単純にフォーカスが当たっているだけの状態なので
ボタン意外の場所をタップしても選択状態が解除されます。

なので、現在、選択状態の色はButtonのSelected Colorってやつに設定して変更していましたが
スクリプト上でどのボタンが選択されているか保持して、スクリプトにてボタンの表示を
制御しようかと思います。

明日の予定

・クルクルシューティングのステージ選択画面の改修
・クルクルシューティングの敵やステージの追加

今月の目標達成に向けて頑張って進めて行きます。

コメント

タイトルとURLをコピーしました