게임 안에서 바다의 하루를 정할 수 있게
메뉴 > 시간 하위 메뉴에 세 갈래를 둔다. - 실제 시각: 바깥 시계 그대로 (기본) - 빠르게: 하루를 5분으로 압축해 돌린다 - 한 시각에 멈추기: 새벽/아침/낮/저녁/밤 프리셋의 이름과 시각을 DayCycle.FIXED_PRESETS 한곳에 같이 두어, 메뉴 항목과 실제로 적용되는 시각이 어긋날 수 없게 했다. 고른 값은 window_state의 time_mode/time_hour에 저장한다. 모드를 바꿀 때 지금 보이던 시각을 먼저 잡아 둔다. mode를 먼저 바꾼 뒤 hour()를 부르면 이미 새 모드의 시계를 읽어 0시로 튀었다 -- 낮에 "빠르게"를 켜면 한밤중으로 떨어지는 버그였다. 명령줄 --hour=21은 그대로 살아 있고 FIXED 모드의 지름길이 되었다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+15
-2
@@ -302,8 +302,21 @@
|
||||
같이 묻힌다. `_draw_glow()`가 `1 - light`만큼 색을 끌어올리고 후광을 넓혀,
|
||||
어두울수록 오히려 도드라지게 했다. 심해 해파리가 밤에 살아나는 것이 이 때문이다.
|
||||
|
||||
**눈으로 확인하기**: `godot --path . -- --hour=21` 처럼 시각을 고정할 수 있다.
|
||||
테스트도 `DayCycle.forced_hour`로 같은 문을 쓴다.
|
||||
**게임 안에서 정하기**: `···` 메뉴의 **시간** 하위 메뉴에 세 갈래가 있다.
|
||||
|
||||
- `Mode.REAL` — 바깥 시계 그대로. 기본값이다.
|
||||
- `Mode.FIXED` — 한 시각에 멈춘다. 밤바다만 보고 싶을 때.
|
||||
메뉴에 올리는 프리셋은 `FIXED_PRESETS`에 이름과 시각을 같이 둬서
|
||||
메뉴 항목과 실제 시각이 어긋나지 않게 했다.
|
||||
- `Mode.FAST` — 하루를 `FAST_DAY_MINUTES`(5분)로 압축해 돌린다.
|
||||
압축한 시계는 매 틀 굴리고 화면 갱신만 뜸하게 한다.
|
||||
|
||||
모드를 바꿀 때 **지금 보이던 시각을 먼저 잡아 둔다.** `mode`를 먼저 바꾼 뒤
|
||||
`hour()`를 부르면 이미 새 모드의 시계를 읽어 0시로 튄다 -- 빠르게로 넘어갈 때마다
|
||||
한밤중으로 뚝 떨어지는 버그였다.
|
||||
|
||||
고른 값은 `window_state["time_mode"]/["time_hour"]`에 저장된다.
|
||||
명령줄 `--hour=21`은 FIXED 모드의 지름길이고, 테스트도 같은 문을 쓴다.
|
||||
|
||||
## 감상 모드 (전체화면)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user