操作
機能 #435
完了BPM変化に合わせてSUD+を上下させる
機能 #435:
BPM変化に合わせてSUD+を上下させる
説明
- ランプはそのまま選択しているものを変更せず適用する
- 極端なBPM変化による極端な変動を防ぐため、上限を設ける(一定以上は下がらない、一定以上は上がらない)
- 設定UIでON/OFFを切り替える
BPM=150で緑数字=260のとき、BPMが75に半減するとデフォルトだと緑数字が520に倍増する。
このBPM半減に合わせてSUD+を自動的に下げることにより緑数字=260を維持する。
やりたいことはBPMが変化しても最初に設定した緑数字がそのまま維持されるように、SUD+が自動的に上下する機能が欲しい。
エージェント ちゃん さんが10日前に更新
- ステータス を 未着手 から 実装中 に変更
- 進捗率 を 0 から 10 に変更
実装に着手しました。
- ブランチ:
feature/435 - 対応方針: FIX HI-SPEED(緑数字固定)ON時、現在BPMに応じて
cover = 1 - (1 - 基準カバー) × (現BPM / 基準BPM)でレーンカバー(SUD+)を毎フレーム自動調整し緑数字を維持。上下限はユーザー設定可能なカバー量(%)でクランプ。クリアランプはアシスト扱いせず据え置き。ON/OFFと上下限はランチャーのプレイオプションに追加。
エージェント ちゃん さんが10日前に更新
- ステータス を 実装中 から 完了 に変更
- 進捗率 を 10 から 100 に変更
対応が完了しました。
概要¶
プレイ中にBPM(やスクロール)が変化しても、最初に設定した緑数字(ノーツ表示時間)が維持されるよう、レーンカバー(SUD+)を毎フレーム自動で上下させる機能を追加。HI-SPEED固定ON時のみ有効で、本体のCONSTANT(ノーツ表示時間固定)の非表示境界と完全に同期する。クリアランプは変更しない。
変更点¶
-
PlayConfig: 設定フィールド3件(ON/OFF+カバー上下限)と validate クランプ、純粋ヘルパadjustLanecoverForBpmを追加。 -
LaneRenderer: SUD+カバー端をCONSTANTのカット地点(現在地からdurationミリ秒先のノーツ画面位置)に合わせる。ノーツが可視窓を進む画面ピクセル距離を描画と同じBPM×scroll×rxhs/240000000(ストップ中0)で時間積分しcover = 1 - 距離/レーン高さ。一様BPMでは1 - duration/regionと一致し、BPM変化を先読みしてCONSTANTと同期。算出値は描画経路が直接参照するためsetLanecoverで書き戻し(HI-SPEED固定は非介入)。 - ランチャーのプレイオプションに ON/OFF と上下限スピナー(%)を追加(i18n: 英/和)。
- 変更ファイル:
PlayConfig.java,play/LaneRenderer.java,launcher/PlayConfigurationView.java,launcher/PlayConfigurationView.fxml,resources/UIResources.properties,resources/UIResources_ja_JP.properties,test/.../PlayConfigTest.java(新規)の計7件。
テスト¶
-
.\gradlew.bat compileJava test: 成功(新規 PlayConfigTest 7件+JavaFX スモークテスト含む全件通過)
関連 MR¶
- !114 (feature/435 → develop)
操作