最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何在 Twine/Harlowe 内实现可重复点击且不消失的链接
时间:2026-07-11 11:08:59 编辑:袖梨 来源:一聚教程网
在 Twine/Harlowe 中,使用 (link:) 宏会导致链接点击后立即从页面中移除;若需多次触发同一交互(如反复弹出提示),应改用 (link-rerun:) 宏——它保留链接并重新执行其内容。
在 twine/harlowe 中,使用 `(link:)` 宏会导致链接点击后立即从页面中移除;若需多次触发同一交互(如反复弹出提示),应改用 `(link-rerun:)` 宏——它保留链接并重新执行其内容。
默认情况下,Harlowe 的 (link:) 宏设计为“一次性”交互:用户点击后,宏所在的文本节点会被替换(通常为空),从而造成“链接消失”的现象。这并非 Bug,而是其语义所决定的行为——(link:) 表示“跳转或触发一次动作后退出当前上下文”。但许多交互式叙事场景(如检查物品、重复对话、调试测试)需要持久可点击的按钮式链接,此时应选用语义更匹配的 (link-rerun:)。
✅ 正确写法(链接常驻,可无限点击):
Thing (link-rerun: "Look at")[(alert: ["It's a thing"], "Sure.")]
⚠️ 注意事项:
- (link-rerun:) 不会刷新整个 passage,仅重新运行其内部的糖语法(如 (alert:)、(set:)、(if:) 等),因此适合轻量级、无副作用的交互;
- 若链接内含状态变更(如计数器),请确保逻辑正确,例如:
(set: $clicks to it + 1)You've clicked this $(clicks) time(s). (link-rerun: "Click again")[...]
- 避免在 (link-rerun:) 内执行破坏性操作(如 (goto:) 或清空变量),否则可能引发意外行为;
- 不要混淆 (link-goto:)(跳转到另一 passage 并保留原链接)与 (link-rerun:)(留在当前 passage 并重执行)——二者用途截然不同。
总结:当需要“点击即响应、响应后仍可用”的交互时,(link-rerun:) 是 Harlowe 提供的标准解决方案。理解各链接宏的语义差异(link → 一次性 / link-rerun → 可重入 / link-goto → 导航保留),是构建稳定、可维护 Twine 故事的关键基础。
相关文章
- 星痕共鸣读物位置大全 读物在哪里 07-17
- 麻花豆传媒剧在线MV免费观看-麻花豆传媒剧在线观看免费 07-17
- 驾校一点通如何刷课时 07-17
- 奈斯漫画在线登录页面-免费漫画入口版 07-17
- 燕云十六声太极奇术怎么使用 07-17
- 哔哩哔哩无广告观看极速入口-哔哩哔哩创作中心一键入口 07-17