概要

クルクルシューティング
クルクルシューティング、ストーリ画面を追加。カタカタの音が途切れるのは演出ではなく、単に効果音のバッファーオーバーだけど、それっぽいからこのままにするか。(バッファー増やしたら雰囲気変わるかもだけど) pic.twitter.com/lycR5jobGm
— taka (@takatsume04) January 27, 2026
ストーリモードの遷移とか効果音の追加とか。
あと、ステージ解放機能も追加。
カタカタの効果音が途切れているのは効果音のバッファーオーバーによるものですが、
それっぽい雰囲気があるのでこのままにしようかと思います。
ステージ解放機能
ステージ解放機能の設定として、ステージ一覧の設定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ってやつに設定して変更していましたが
スクリプト上でどのボタンが選択されているか保持して、スクリプトにてボタンの表示を
制御しようかと思います。

明日の予定
・クルクルシューティングのステージ選択画面の改修
・クルクルシューティングの敵やステージの追加
今月の目標達成に向けて頑張って進めて行きます。


コメント