merge: T17三修批合入——旗显示回归修复+伤害数字增强+结算视觉期跟演播(全锁死锁风险回退为视觉指示)+ui_probe断言适配
This commit is contained in:
commit
f462175447
8 files changed
+53
-13
No files matched your search
@@ -353,6 +353,22 @@
|
||||
|
||||
### HUD框架
|
||||
|
||||
#### 第一关亮墨数字直画观感优化(2026-10-01 T17 目检体感登记)
|
||||
|
||||
**现状**:迭代 9 T4 数字承载切换后第一关=亮墨三档直画(白亮字直接印棕色地板、无色牌垫底),机制可读性过闸(用户实机确认三档冷暖可分、凑近与离屏均可读);同日 T17 目检体感「表现和描述一样,但非常难看」——直画字与地板的组合观感待优化。第二/三关米色小牌形态未获同类反馈。
|
||||
|
||||
**归属**:呈现优化批(与高墙墙底阴线观感同批裁量;排 M-4 后排,不卡迭代 9 出口)
|
||||
|
||||
**状态**:待办(2026-10-01 登记;机制/可读轴零触碰,纯观感轴)
|
||||
|
||||
#### 高墙墙底细阴线观感优化(2026-10-01 T17 目检体感登记)
|
||||
|
||||
**现状**:迭代 9 T3 棋盘渲染落码后高墙承接机制过闸(墙顶原亮度直贴/交界无边框/墙底一条细阴线压格线);2026-10-01 用户 T17 目检实机体感「有,但是现在放个黑线很难看」——墙底阴线的颜色/粗细/有无待优化。
|
||||
|
||||
**归属**:呈现优化批(与数字直画观感同批;排 M-4 后排,不卡迭代 9 出口)
|
||||
|
||||
**状态**:待办(2026-10-01 登记;机制轴零触碰,纯观感轴)
|
||||
|
||||
#### 封印旗纹理落位(棋盘格 tex_flag 槽,2026-09-29 打磨包降级登记)
|
||||
|
||||
**现状**:棋盘旗格现以文字字形「旗」(朱墨)承载——`board_cell_unit.gd` tex_flag 槽位 2026-09-24 起预留恒空。迭代 8 打磨包卡⑤「封印旗纹理落位退役文字占位」开工核证:`game/assets/art/`(board/ui 全目录 186 文件在盘)无旗纹理产物,素材自产批未生产该件(素材不入 git 口径,非缺检漏装)。按计划书 §5.1 T8 降级案执行:**维持文字占位 + 本条债务登记**,槽位接线条件=旗纹理自产入盘后接 tex_flag(程序化槽位零改码可挂)。
|
||||
|
||||
@@ -96,6 +96,7 @@ var _was_settling := false # 结算相位上升沿检测(结算轮光
|
||||
var _row_queue: Array = [] # 待排播行(step_row 载荷原样入队;__round_line 标记=轮首分隔行)
|
||||
var _row_pace_wait := 0.0 # 距下一行排播的剩余秒(_process 消耗)
|
||||
var _pace_prev_segment := "" # 上一排播行的段型(段间/段内延迟判据)
|
||||
var _was_pumping := false # 排播活跃边沿(T17——末行消费帧触发结算视觉回挖掘态刷新)
|
||||
const PACE_SEGMENT_GAP := 0.3 # 段间阶梯延迟(代拍板:白名单 0.2–0.4s 内取值,追认清单呈报)
|
||||
const PACE_ROW_GAP := 0.22 # 段内间隔(三轮 #3 上调 0.06→0.22——逐条演出可感知,配合数字浮现/状态脉冲)
|
||||
|
||||
@@ -805,7 +806,13 @@ func _process(delta: float) -> void:
|
||||
if _row_queue.is_empty():
|
||||
_row_pace_wait = 0.0
|
||||
_pace_prev_segment = ""
|
||||
if _was_pumping:
|
||||
# 演播完边沿:结算视觉期由排播队列承载(_is_settling 排播项),队列排空的翻转
|
||||
# 无核心信号驱动——此处主动刷回挖掘态(去饱和解除/明细带收起/mode=dig)。
|
||||
_was_pumping = false
|
||||
_refresh_presentations.call_deferred()
|
||||
return
|
||||
_was_pumping = true
|
||||
_row_pace_wait -= delta
|
||||
if _row_pace_wait > 0.0:
|
||||
return
|
||||
@@ -1294,9 +1301,16 @@ func _sync_settlement_visuals() -> void:
|
||||
|
||||
|
||||
func _is_settling() -> bool:
|
||||
# T17 修复:结算视觉期跟随排播演播到放完。核心层同步走完(轮末结算后逻辑秒回 Active),
|
||||
# 旧判定让演播期棋盘提前恢复可挖观感=用户「没意识到在结算演出」感知缺口的根源;
|
||||
# 演播期维持去饱和+禁挖光(结算中语义),放完自然回挖掘认知。判据=纯队列(_row_pace_wait
|
||||
# 在末行消费后到下帧泵清零前有 >0 尾迹窗口,不可作演播中标志)。battle 收尾演播例外:
|
||||
# overlay 开启即 _flush_row_queue 排空,视觉随队列空同步交接结算框。
|
||||
if settlement == null or not settlement.is_battle_live():
|
||||
return false
|
||||
return settlement.action_economy.phase == settlement.action_economy.PHASE_WAITING
|
||||
return not _row_queue.is_empty()
|
||||
if settlement.action_economy.phase == settlement.action_economy.PHASE_WAITING:
|
||||
return true
|
||||
return not _row_queue.is_empty()
|
||||
|
||||
|
||||
func _phase_text() -> String:
|
||||
|
||||
@@ -83,7 +83,11 @@ var tex_base: Texture2D = null # ① 砖面底
|
||||
var tex_mutation: Texture2D = null # ② 变异纹带
|
||||
var tex_glyph: Texture2D = null # ③ 数字
|
||||
var tex_badge: Texture2D = null # ③' 徽章
|
||||
var tex_flag: Texture2D = null # ④ 旗
|
||||
var tex_flag: Texture2D = null: # ④ 旗(T17 修复:槽位可运行时换装〔插旗〕——同族 facade/aux_mark
|
||||
set(v): # 均 setter 触发重绘;旧普通 var 赋值不重绘=旗插上不显示)
|
||||
if tex_flag != v:
|
||||
tex_flag = v
|
||||
queue_redraw()
|
||||
var tex_facade: Texture2D = null # ⑥ E 格墙面材质(v3.5——南邻墙顶 center 瓦片同源,BoardView 注入)
|
||||
var facade_strip := false: # E 格开关(BoardView paint 按「已开格且南邻未开墙」写入——瓦片态专用)
|
||||
set(v):
|
||||
|
||||
@@ -678,6 +678,9 @@ func _paint_cell(c: Vector2i, hero: Vector2i) -> void:
|
||||
var glyph := ""
|
||||
var bg: Color
|
||||
var digit_col := COL_DIGIT
|
||||
# 旗槽统一维护(T17 修复):旗格=封印旗纹理;其余格清 null(插旗格挖开后残留在 tex_flag
|
||||
# 会让 _draw 无条件把旗印画在已开格上——tex_flag 绘制无 revealed 条件)。缺盘走字形回退。
|
||||
u.tex_flag = _flag_tex if (flag and not revealed and _flag_tex != null) else null
|
||||
if revealed:
|
||||
var rec: Dictionary = _minesweeper.reveal_record(c) # E2 收口:已开记录经查询面
|
||||
if rec.get("kind", "") == "mine":
|
||||
@@ -696,11 +699,7 @@ func _paint_cell(c: Vector2i, hero: Vector2i) -> void:
|
||||
else:
|
||||
if flag:
|
||||
bg = COL_BRICK
|
||||
# 封印旗纹理落位(迭代 9 卡⑬——tex_flag 槽接线,迭代 8 卡⑤降级债务清偿):
|
||||
# 纹理在位=字形「旗」退役(项目纹理槽惯例);缺盘=字形回退原语义(load_tex exists 守卫)
|
||||
if _flag_tex != null:
|
||||
u.tex_flag = _flag_tex
|
||||
else:
|
||||
if _flag_tex == null:
|
||||
glyph = "旗"
|
||||
digit_col = COL_FLAG
|
||||
else:
|
||||
|
||||
@@ -90,18 +90,20 @@ func probe_settlement_marks() -> int:
|
||||
# 站桩头顶浮现数字,上飘 34px 渐隐 0.7s(减动效=时长折半同演不跳过);crit 加大加重。
|
||||
func play_damage_number(pos: Vector2, text: String, col: Color, crit: bool = false) -> void:
|
||||
_fx_damage_marks += 1
|
||||
var lab := UiKit.label(text, 26 if crit else 20, true)
|
||||
# T17 修复(用户实机「完全没看到伤害数字」):26/32px 大字+1.1s 驻留——旧 20px/0.7s 在
|
||||
# 结算排播节奏下视觉存在感不足;描边 4→6 同步加重(亮舞台底上保读数)。
|
||||
var lab := UiKit.label(text, 32 if crit else 26, true)
|
||||
lab.add_theme_color_override("font_color", col)
|
||||
lab.add_theme_color_override("font_outline_color", Color(0.1, 0.08, 0.06, 0.9))
|
||||
lab.add_theme_constant_override("outline_size", 4)
|
||||
lab.add_theme_constant_override("outline_size", 6)
|
||||
lab.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
lab.z_index = 6
|
||||
add_child(lab)
|
||||
await get_tree().process_frame # 等一帧取实际尺寸(文本度量)
|
||||
lab.position = pos - lab.size * 0.5
|
||||
var tw := lab.create_tween()
|
||||
tw.tween_property(lab, "position:y", lab.position.y - 34.0, UiKit.motion(0.7)).set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
|
||||
tw.parallel().tween_property(lab, "modulate:a", 0.0, UiKit.motion(0.35)).set_delay(UiKit.motion(0.35))
|
||||
tw.tween_property(lab, "position:y", lab.position.y - 40.0, UiKit.motion(1.1)).set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
|
||||
tw.parallel().tween_property(lab, "modulate:a", 0.0, UiKit.motion(0.45)).set_delay(UiKit.motion(0.65))
|
||||
tw.tween_callback(lab.queue_free)
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uid://ex47eiu0q8iv
|
||||
@@ -0,0 +1 @@
|
||||
uid://cjphtdru77a1r
|
||||
@@ -114,7 +114,10 @@ func _ready() -> void:
|
||||
problems.append("C 区魔法道具槽(预留)缺失")
|
||||
if main.stage.hero_standee.slot_row == null:
|
||||
problems.append("B 区站桩状态行缺失(状态效果唯一展示面——2026-09-26 C 区精简批)")
|
||||
if main.log_view.mode() != "dig" or main.log_view.custom_minimum_size.y != 24.0:
|
||||
# B 区明细带挖掘期收起断言(T17 视觉扩展批适配):结算演播期 settling 视觉延伸=mode=settle
|
||||
# 属新语义(演播放完回 dig——main._is_settling 排播项,判据=纯队列),本断言仅在排播空闲态判定。
|
||||
if main._row_queue.is_empty() \
|
||||
and (main.log_view.mode() != "dig" or main.log_view.custom_minimum_size.y != 24.0):
|
||||
problems.append("B 区明细带挖掘期应收起 24px(mode=%s h=%s)" % [main.log_view.mode(), str(main.log_view.custom_minimum_size.y)])
|
||||
# E 区道具面板已随可选类删除下线(格面资源批 2026-09-15)——四区构建由其余断言覆盖
|
||||
|
||||
|
||||
Reference in new issue
Block a user