用Laper通过变量控制与CSS样式实现双时间线交替叙事:以timeline_phase和scene_counter为锚点,结合奇偶计数或状态切换触发跳转,并用冷暖色调CSS区分现在线与过去线,最终在交汇口场景收束双线。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

用Laper设计两条时间线交替推进的故事,需要在不依赖传统分镜脚本的前提下,通过时间轴嵌套、事件锚点绑定和视觉节奏控制来实现叙事张力。Laper本身不提供“时间线轨道”概念,必须用场景节点+条件跳转+变量标记的组合方式模拟双线结构。
第一步:建立主干时间锚与分支标识变量
新建一个全局变量,命名为timeline_phase,类型设为字符串,默认值填past;再建一个整数变量scene_counter,初始值为0。这两个变量将作为所有跳转逻辑的判断依据,【删除或重命名它们会导致后续所有条件跳转失效】。
在项目设置→启动场景中,插入一个“执行JavaScript”节点,写入:scene_counter = 0; timeline_phase = "past";。这一步必须放在最开头执行,否则后续场景读取到的值是空或NaN。
第二步:构建交替触发机制
方法一:用计数器奇偶性控制流向
在每个关键剧情节点结尾,添加“执行JavaScript”节点,写入:scene_counter++;。紧接着接一个“条件跳转”节点,条件设为scene_counter % 2 === 0,真时跳转到“现在线”场景,假时跳转到“过去线”场景。这种写法适合节奏均匀、严格隔场切换的双线结构。
方法二:用变量状态+手动标记控制
在“过去线”最后一个场景结尾,插入“设置变量”节点,把timeline_phase改为"present";在“现在线”结尾则改回"past"。然后所有跳转都基于timeline_phase === "present"判断。这种方法更灵活,可随时插入单场插叙,但需要人工确保每次修改后都有对应复位操作。
第三步:视觉化区分两条时间线
进入“现在线”所有场景的CSS样式面板,在自定义CSS框里粘贴:body { filter: brightness(1.1) saturate(1.3); } .dialogue-box { border-left: 3px solid #4a90e2; }。这会让现在线整体偏冷调、对话框带蓝色左竖条。
进入“过去线”所有场景,粘贴:body { filter: contrast(0.9) sepia(0.3); } .dialogue-box { border-left: 3px solid #d97706; }。暖黄旧影效果配合橙棕边框,和现在线形成直觉性区分。注意:这两组CSS必须分别写入对应场景,不能写在全局CSS里,否则无法隔离渲染。
这一步操作起来很简单,直接复制粘贴就行,但漏掉任一场景都会导致某条线失去视觉辨识度,玩家容易混淆时间位置。
第四步:设计交叉点与收束逻辑
第一步:在第5个“过去线”场景结尾,插入“条件跳转”节点,条件为scene_counter >= 8 && timeline_phase === "past"。
第二步:该条件为真时,跳转到一个新场景“交汇口-记忆闪回”,这个场景不归属任一时间线,而是独立存在。
第三步:在“交汇口”场景中,用“显示图片”节点加载一张半透明叠层图(如老照片覆盖在现代街景上),同时播放混音音频(雨声+童年笑声)。
第四步:用户点击后,执行JavaScript:timeline_phase = "merged"; scene_counter = 0;,然后跳转至终章场景。
【交汇口场景必须禁用返回按钮,且不能被其他路径意外跳入,否则会破坏双线闭环】


















