Files
aibis-dream/Assets/Yarn/FP/FP_Day2_sleep/FP_Day2_sleep.逻辑图.md
T
dingyuntian cbae4cdb22 chore: yarn项目升级并重新分类
1. 移除Resources,单独使用一个Yarn文件夹保存
2. 按类型分为Fiction,FP,Test
3. 升级到YarnSpinner3.0
4. 移除所有本地化关联,后续迁移到Yarn内置的本地化系统
2026-04-23 11:47:29 +08:00

5.6 KiB
Raw Blame History

FP_Day2_sleep.yarn 主要逻辑图

对应文件:FP_Day2_sleep.yarn

说明

  • Start 在第 22 行 <<jump Test>> 之后的内容在常规 Yarn 下通常不可达。实机入口可能是 Test 或由程序指定节点。
  • 下图按阅读顺序排布:先看 全景主线(横轴),再按需看各 模块展开

状态变量

变量 含义
$gameStage 1 广场初 → 2 取风筝后 → 3 风筝1 后 → 4 大风/门线 → 5 end
$t / $h 风筝回合与高度
$wind 风筝2 风向
$sz 「上升」解绳进度
$consciousness 门侧回忆进度
$memCheck / $doorCheck / $doorListen 各一次性加成
$seaExist 「海是否存在」答案

图 1|全景主线(建议先看)

从左到右为大致叙事 / 跳转顺序;支线在下方用子图收拢,避免一张图里线交叉过多。

flowchart LR
    subgraph colA["入口"]
        direction TB
        N_Start(["Start"])
        N_Test(["Test<br/>stage←4"])
        N_Wake(["醒来<br/>stage←1"])
        N_Start -->|jump| N_Test
        N_Start -.->|脚本后半通常不可达| N_Wake
    end

    subgraph colB["广场段"]
        direction TB
        N_Plaza(["广场<br/>hub"])
    end

    subgraph colC["风筝段"]
        direction TB
        N_K1(["风筝1"])
        N_K2(["风筝2"])
    end

    subgraph colD["高空段"]
        direction TB
        N_Up(["上升"])
    end

    subgraph colE["记忆段"]
        direction TB
        N_Rift(["裂隙"])
        N_Mem(["记忆空间"])
    end

    subgraph colF["门与终局"]
        direction TB
        N_Door(["门<br/>hub"])
        N_End(["end"])
        N_Dark(["靠近黑暗"])
        N_Awake(["苏醒"])
    end

    N_Test --> N_Door
    N_Wake --> N_Plaza

    N_Plaza --> N_K1
    N_Plaza --> N_K2
    N_Plaza -->|离开 ∧ stage≥4| N_Rift
    N_K1 -->|t≥5 → stage3| N_Plaza
    N_K2 -->|t=10 抉择| N_Up
    N_K2 -.->|部分失败| N_Plaza

    N_Up -->|闪回结束 / sz 满| N_Door
    N_Rift --> N_Mem
    N_Mem -->|靠近门| N_Door
    N_Door -->|推门 ∧ con≥3| N_End
    N_End -->|stage←5| N_Door
    N_Door -->|stage=5| N_Dark

图 2|广场 Hub(选项与回路)

flowchart TB
    P([广场])

    P --> O[观察<br/>秋千 · 广告栏]
    P --> T[树 → 过去 → jump 树]
    P --> G2[女孩 · stage2<br/>同意 → jump 风筝1]
    P --> G3[女孩 · stage3<br/>同意 → jump 风筝2]
    P --> F[放风筝<br/>stage>2]
    P --> L[离开]

    L -->|stage < 4| B[梦边界]
    L -->|stage ≥ 4| R[jump 裂隙]

    B --> P
    O --> P
    T --> P
    G2 --> P
    G3 --> P
    F --> P

    style P fill:#e8f4fc,stroke:#2b6cb0

图 3|树(自循环)

flowchart LR
    TR([树]) -->|stage1 女孩线| G[取风筝<br/>stage←2]
    TR --> S[摇树]
    TR -->|离开| PL([广场])

    G --> TR
    S --> TR

    style TR fill:#e8f4fc,stroke:#2b6cb0

图 4|风筝 1(计数回路)

flowchart LR
    K([风筝1]) -->|放线/收线/保持<br/>t++| K
    K -->|t ≥ 5| PL([广场<br/>stage←3])

    style K fill:#fff8e6,stroke:#b7791f

图 5|风筝 2 → 上升

flowchart TB
    K([风筝2]) -->|循环<br/>t++/h/wind| K
    K -->|t=10 放手/抓紧| U([上升])
    K -.->|部分条件| PL([广场])

    style K fill:#fff8e6,stroke:#b7791f
    style U fill:#f0fff4,stroke:#276749

图 6|上升(内部分支)

flowchart TB
    U([上升])

    U -->|gameStage==3| A[高空序列<br/>stage←4]
    U -->|sz < 4| N[解开绳子<br/>sz++]
    U -->|sz ≥ 4| F[闪回 / 姐姐 / …]

    A --> U2[jump 上升]
    N --> U2
    F --> DR([门])

    U2 --> U

    style U fill:#f0fff4,stroke:#276749
    style DR fill:#ede7f6,stroke:#553c9a

图 7|门 ↔ 记忆空间 ↔ end(意识进度)

flowchart LR
    subgraph mem["记忆侧"]
        M([记忆空间])
    end

    subgraph door["门侧"]
        D([门])
    end

    subgraph fin["终局"]
        E([end])
        DK([靠近黑暗])
    end

    M -->|靠近门| D
    D -->|后退| M

    D --> O[观察 → doorCheck]
    D --> Li[仔细听 → 海浪]
    D --> Pu[推门]

    Pu -->|con < 3| X[门不动]
    Pu -->|con ≥ 3| E

    E -->|stage←5| D
    D -->|stage=5| DK

    style D fill:#ede7f6,stroke:#553c9a
    style E fill:#fed7d7,stroke:#c53030

图 8|故事阶段(状态概览)

stateDiagram-v2
    direction LR

    [*] --> Start
    Start --> Test : jump 当前脚本
    Test --> 门 : stage=4

    醒来 --> 广场 : stage=1
    广场 --> 树 : 取风筝
    树 --> 广场 : stage=2
    广场 --> 风筝1 : 同意
    风筝1 --> 广场 : stage=3
    广场 --> 风筝2 : 同意
    风筝2 --> 上升 : t=10
    上升 --> 门 : 闪回 / sz
    广场 --> 裂隙 : 离开 ∧ stage≥4
    裂隙 --> 记忆空间
    记忆空间 --> 门
    门 --> end : 推门 ∧ con≥3
    end --> 门 : stage=5
    门 --> 靠近黑暗 : stage=5
    苏醒 --> [*]

要点摘要

  1. Start → Test → 门:脚本中的快进路径;枯树线若在 jump 之后则易不可达。
  2. 广场:主 hub离开stage≥4裂隙
  3. 风筝1$t 满 5 回广场,stage=3
  4. 风筝2$t==10上升
  5. 上升stage==3 播高空;sz 满后进闪回并 jump 门;节点内 jump 上升 自循环。
  6. consciousness 堆叠后推门 → endstage=5 再回 靠近黑暗
  7. 苏醒:独立节点,需代码或其它 Yarn 接入。