下载 App

烘焙值与代码不一致导致切换时道具跳变

05/171 浏览开发经验
问题很清楚——场景 1 和场景 2 有各自独立的云端 patch,我们把场景 2 的 fengshi 代码改成了场景 1 的 patch 值 (0.328, 0.594),但场景 2 的 patch 可能存的是不同的值,导致 patch 覆盖后 puppetMoveTo 产生动画跳变。
让我先确认引擎是否有瞬时设置位置的 API。
关键发现!puppetMoveTo 只设置 targetX/targetY,然后通过 lerp 动画插值(第 1284-1285 行),而 patch 会同时设置 p.x 和 p.targetX(第 880-881 行)。所以要瞬时锁定位置,需要同时设置 x/y 和 targetX/targetY。
让我看看 puppetMoveTo 和 puppetEnter 的完整实现:
找到了!puppetEnter 在角色已经在台上时(p.visible and p.alpha > 0.5 and p.y > -0.1),只设置 targetX/targetY——等同于 puppetMoveTo,也是动画移动!
这就是问题:即使在 action 里调用 puppetMoveTo 或再次 puppetEnter,都是动画式移动,只要 patch 把位置改成了不同值,就会出现可见的滑动。
根本解决方案:需要瞬时设置位置(同时设置 p.x/p.y 和 p.targetX/p.targetY)。让我看看有没有现成的 API,或者需要加一个。
根因:之前用 puppetMoveTo 做位置锁定,但它只设置 targetX/targetY,通过 lerp 动画插值移动——如果云端 patch 把 p.x/p.y 设成了不同值,就会产生可见的滑动动画(从 patch 位置滑到 target 位置)。
而且每个场景有独立的 patch(scene_1、scene_2),场景 2 的 patch 中 fengshi 的位置很可能和场景 1 不同,导致切场景时看到封氏和桌椅"跳了一下"。
修复方案:新增 puppetSnapTo API,直接同时设置 p.x/p.y 和 p.targetX/p.targetY:
lua
复制
local function puppetSnapTo(id, x, y)
    local p = puppets_[id]
    if not p then return end
    p.x = x;  p.y = y          -- 当前位置(瞬时)
    p.targetX = x; p.targetY = y  -- 目标位置(无差值=无动画)
end
这样无论云端 patch 把位置改成什么值,action 里的 puppetSnapTo 都会瞬时覆盖到正确位置,不会有任何动画过渡。
【第九十四回】宝玉的宝玉丢了截图
【第九十四回】宝玉的宝玉丢了
宝玉的宝玉丢了 制作完成,待发布
【更新】新增驿站+远征地截图
【更新】新增驿站+远征地
官方
2 回复
【更新】平台新版本发布游戏变成了“预约”截图
【更新】平台新版本发布游戏变成了“预约”
今天更新之后,一直奇怪怎么看不到“热度”,变成了“预约” 后面才知道,需要去这里改为 提供游玩 【更新】 1、新增便签墙功能,每一局都有小故事 2、增加了自定义头像
3 赞
1 回复
拖到合成目标才留位
错误原因 我在上一轮加回收功能时,为了"修位置回正"加了 else 分支:当牌既没拖到回收区、也没合成目标时,强制把牌弹回原位。这破坏了 Stacklands 的基本交互——拖到空地就该留在那里。 -- ❌ 错误版本(多余的 else 导致拖到空地也弹回) if inRecycle and not card.locked then ...回收溶解... elseif self._mergeTar
官方
UI 按键动画设计经验
从 GDScript (Godot Tween) 移植到 UrhoX Lua + raw NanoVG 的完整经验总结。 版本: v0.3.0 | 日期: 2026-07-28 重要:第 1~9 节是"设计理论 + 自建补间引擎"思路(适合理解原理)。 但在《抓周》这类 Boot/Router/EventBus 模板里实测落地时,靠 Update 驱动补间会让按钮不可见、nvgRGBA 整数色会
官方
【更新】增加了一些任务截图
【更新】增加了一些任务
我从故事便签墙中,看到了大多数玩家都在和野兽、疾病博弈中倒下 我这两天补充了一些任务,有关合成物品的为主 在此感谢大伙儿的积极反馈
1 赞
4 回复
任务
当前任务栏共设计了 2 个阶段、7 个任务: --- ### 襁褓 · 初识世界(5个) | # | 任务名 | 描述 | 完成条件 | |---|--------|------|----------| | 1 | 看见万物 | 开启你的人生初体验 | 初始体验包开出 3 张牌 | | 2 | 伸手触碰 | 拖动任意一张牌 | 拖动 1 次 | | 3 | 万物相遇 | 把一张牌放到另一张牌上 |
官方
02:41
【新上游戏】休闲卡牌摸鱼截图
【新上游戏】休闲卡牌摸鱼
推荐电脑端 游戏中很多卡牌还缺插画,如果你很好的一幅画,可以发到该游戏论坛,我会把它添加作为某张卡牌插画
2 赞
01:39
【新游】友谊的小船……望官方首推截图
【新游】友谊的小船……望官方首推
Tap平台有大量的‌投资模拟类游戏,谁不想在‌市场中当常胜将军。 但现实中是残酷的,希望这个游戏能让玩家先锻炼好心态,再去博弈 游戏简介: 该游戏是一款以投资市场为背景的心理博弈桌游,核心设计围绕人性弱点(贪婪、恐惧、从众、侥幸、冲动等) 游戏通过大量映射现实市场中的事件,将投资心理陷阱(幸存者偏差、囚徒困境、羊群效应、赌徒谬误、沉没成本、从众心理、社会懈怠、过度自信、锚定效应、确认偏误等)
1 赞
【牌】兴登堡凶兆
这张卡的主题很适合《友谊的小船》,但按原始数值直接落地会有一个关键问题:右牌严格优于左牌,四人局会趋向全员选右,博弈不成立。 先评估原方案 选择 未扎堆 同侧≥3人 结论 左:追高 -15万 -40万 始终比右牌更痛 右:抄底 -10万 -25万 任意人数下都更优 无论同侧人数是多少,右牌都少亏: 未扎堆:右牌少亏 5万 扎堆后:右牌少亏 15万 所以理性玩家没有选择左牌的理由;最终通常会四人全选
官方