《衔蝶》开发代码
Go to file
2025-06-28 09:25:07 +08:00
.vscode 完成 c01s11 黄包车演出 2025-01-29 22:05:27 +08:00
addons demo 0.1 综合优化 2025-06-28 09:25:07 +08:00
asset demo 0.1 综合优化 2025-06-28 09:25:07 +08:00
config settings locale 功能:lang + caption 2025-06-28 04:28:34 +08:00
manager demo 0.1 综合优化 2025-06-28 09:25:07 +08:00
readme_image 编写 ProAnimatedSprite2D 与其插件 2025-01-23 21:33:59 +08:00
scene demo 0.1 综合优化 2025-06-28 09:25:07 +08:00
script_templates 优化 ux 下的 panel bag note mem; 2025-06-27 22:52:46 +08:00
ui godot 升级 4.4(解决 uid 问题) 2025-03-10 21:03:34 +08:00
util 优化 dialogue 文件(增加<br>效果) 2025-06-10 12:04:24 +08:00
.gitattributes 使用官方 git 插件 2025-06-17 15:45:24 +08:00
.gitignore 管理 *. import 文件:解决新打开项目时的 uid 出问题 2025-01-17 21:32:10 +08:00
export_presets.cfg demo 0.1 综合优化 2025-06-28 09:25:07 +08:00
project.godot 修复玩家移动时按e会平移的问题:action 相当于切换 idle 2025-06-28 06:25:17 +08:00
push_audio.sh push_audio.sh +x 2025-06-17 18:27:44 +08:00
rcedit-x64.exe 更新导出配置(图标等) 2025-06-28 05:11:28 +08:00
README.md demo 0.1 综合优化 2025-06-28 09:25:07 +08:00
游戏启动图标128.ico 更新导出配置(图标等) 2025-06-28 05:11:28 +08:00
游戏启动图标128.png 更新导出配置(图标等) 2025-06-28 05:11:28 +08:00
游戏启动图标128.png.import 更新导出配置(图标等) 2025-06-28 05:11:28 +08:00
游戏启动图标256.ico 更新导出配置(图标等) 2025-06-28 05:11:28 +08:00
游戏启动图标256.png 更新导出配置(图标等) 2025-06-28 05:11:28 +08:00
游戏启动图标256.png.import 更新导出配置(图标等) 2025-06-28 05:11:28 +08:00
游戏启动图标.icns 游戏启动界面与 icon 等优化;player line 边界调整;井边疯子补充扁担长宽对话 2025-06-28 04:28:34 +08:00
游戏启动图标.svg 游戏启动界面与 icon 等优化;player line 边界调整;井边疯子补充扁担长宽对话 2025-06-28 04:28:34 +08:00
游戏启动图标.svg.import 游戏启动界面与 icon 等优化;player line 边界调整;井边疯子补充扁担长宽对话 2025-06-28 04:28:34 +08:00

xiandie

《衔蝶》开发代码

说明

  • animation framesres://config/animation/entity_sprite_frames.tres

插件

ProAnimatedSprite2D

插件路径addons/property-inspector/pro_animation_sprite2d

ProAnimatedSprite2D 配置示例

ProAnimatedSprite2D增强 AnimatedSprite2D 的表现,在其基础上增加:

  1. 播放+移动:播放特定动画时自动移动,可配置移速
  2. 播放某动画后自动跳转:播放一个动画结束后,自动播放另一个
  3. 自动跳转可以设置循环播放次数,若干次后再跳转
  4. 跳转前可以等待 wait_time 时长

其中:

  1. action configs 配置动画跳转逻辑
  2. move configs 配置播放特定动画时的移动速度
  3. ProAnimatedSprite2D 配置项跳过保存默认值,有利于统一控制、变更默认值

Ground 与 GroundLoader

  • 正常游戏Main -> GroundLoader -> Ground
  • 开发阶段:直接编辑 Ground

整体说明

GroundLoader 加载/切换 Ground 时,分为上下两段转场:

  • 上半段(旧场景变黑):先暂停旧 ground即在转场黑屏过程中旧的 ground 会 paused
  • 下半段(新场景出现):先暂停,在完全出现后再运行 【特殊注意⚠️
  • AnimationPlayer 的 process_mode 并非 inderited而是 pausable。这意味着 AnimationPlayer 的 _on_ground_ready 在转场时仍旧可以直接运行。
    • 同样独立设置的还有 Sfx/Sfx2D它们仍旧可以播放音频直到上半段转场结束
    • CameraFocusMarker 也需要如此,以确保镜头快速拉到指定位置
    • 盒子 canvas layer
  • 一些 npc、player 大运行脚本会被中断。如果想让它们仍旧运行,需设置为 pausable。

Ground 说明

AnimationPlayer每个 Ground 都有一个 AnimationPlayer脚本继承自定义的 AnimationRoot

主要功能说明:

  1. 正常的 AnimationPlayer 功能
  2. oneshot_animation 场景首次加载时播放的 animation

主要方法与数据说明:

  1. _default_data() : 本场景的默认存档数据
  2. _on_ground_ready(): 在父节点 Ground 加载完成后回调
  3. set_data(property: StringName, value: Variant):用于设置需要存档的数据
  4. ground_archive存档数据

Entity 说明

位置res://scene/entity/

子目录说明:

  1. ambient光照
  2. general音效等
  3. partical粒子效果
  4. ux用户交互

主要类型说明:

  1. ambush触发区域触发后执行回调
    1. 可以配置是否一次性
    2. 可配置触发方式enter, area_enter, interact
    3. 可在场景加载时触发
    4. 触发效果有播放对话期间锁定玩家播放动画回调方法AnimationPlayer 的方法注意“_”开头的方法会被忽略
  2. inspectable可在检阅窗口进行审视的物品可以附加文案
  3. local_inspectable运镜+检阅,无需检阅窗口
  4. note显示文案
    1. 显示方式os玩家头顶气泡ballon下方字幕可播放配音
  5. npc
  6. portal传送门
    1. 名称有: left默认, right默认, 1, 2, 3, ...
    2. 关键参数targer_scene 与 target_portaltarget_portal 为 none 时不启用)
    3. 三种模式default通道opened打开的门locked锁定的门对应不同图标与操作音效
    4. 锁定的门可以配置启用钥匙prop_key可在使用后自动消耗该钥匙

存档结构

  • 存档命名为:"save"+三位数字
  • 如果不足三位数字,则会忽略;超过三位数字不会忽略,可以正常读取
  • 这是为了方便多存档功能进行文本排序等
  • 开发阶段 debug 存档save000
  • 开发阶段 index 页面进入的游戏存档save001
  • 发行后,玩家游戏过程中,自动保存的存档编号范围(最多 10 个循环保存000-019
  • 发行后,玩家游戏过程中,手动保存的存档编号范围(最多 10 个栏位050-059
  • 发行后,玩家游戏过程中最多有以上 20 个存档

每个场景都有一份 GroundArchive 存档,通过 ArchiveManager.archive.ground_archive() 可以获得。

current_scene 是通过 GroundLoader 加载的,在 ground loader 加载 ground 时,会先更新 archive 的 current scene然后加载 ground。

重大更新日志(功能)

  • Sign 触发机制,图标位置管理
  • GroundArchive场景内 namespace 隔离,内部需要保证节点名 unique
  • 基础节点InspectableAmbushNoteInteractableCloseupNpc
  • PropHud 切换与点击展示
  • SignSnapper 拉动机制
  • ReenterLock 机制
  • Vibe Sfx & Manager
  • 转场 process 机制优化:暂停 & sfx 等保持运行
  • EventManager 控制事件,使用 Event2D 控制绑定关系
  • Vibe Control 控制氛围情绪音乐