# godot4-lang **Repository Path**: game_87/godot4_lang ## Basic Information - **Project Name**: godot4-lang - **Description**: godot4-lang - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-02 - **Last Updated**: 2026-05-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LingoStudy - 仿多邻国语言学习应用 Godot 4 开发的 2D 语言学习应用,仿照多邻国(Duolingo)设计风格。 ## 界面预览 | 首页 | 语言选择 | |:---:|:---:| | ![首页](demo/0.png) | ![语言选择](demo/1.png) | | 答题 | 结果 | |:---:|:---:| | ![答题](demo/2.png) | ![结果](demo/3.png) | ## 项目概述 - **引擎**: Godot 4.2+ - **语言**: GDScript - **分辨率**: 400x720 (16:9 竖屏,适配手机) - **平台**: 移动端优先 ## 功能特性 ### 核心功能 - ✅ 8 个完整页面 (Splash/Onboard/LangSelect/Home/Lesson/Result/Profile/Setting) - ✅ JSON 题库系统,支持多语言 - ✅ 体力系统 (HP),答错扣体力,自动恢复 - ✅ 金币/经验值奖励机制 - ✅ 连续打卡统计 ### UI 设计 - ✅ 多邻国风格绿色主题 - ✅ 圆角卡片式设计 - ✅ 底部 TabBar 导航 - ✅ 响应式布局适配 ### 动画效果 - ✅ Logo 呼吸动画 (渐隐渐显) - ✅ 按钮点击缩放反馈 - ✅ 页面切换流畅 ## 更新日志 ### v1.0.0 - 2025-05-01 #### 新增功能 1. **项目骨架搭建** - 创建 8 个场景页面 - 配置 project.godot 主场景 - 设置 400x720 竖屏分辨率 2. **核心系统** - GlobalData.gd - 全局数据管理 (HP/金币/经验/语言) - SceneNav.gd - 场景导航系统 - QuestionManager.gd - JSON 题库管理 - AnimationHelper.gd - 动画辅助工具 3. **JSON 题库** - 支持 6 种语言: 英语/日语/韩语/法语/德语/西班牙语 - 每语言 5-10 道测试题 - 随机出题机制 4. **体力系统** - 初始 5 点 HP - 答错扣除 1 HP - 每 30 秒自动恢复 1 HP - HP 为 0 时无法答题 5. **UI 美化** - lingo_theme.tres 统一样式主题 - 绿色渐变按钮 - 白色卡片背景 - 圆角边框设计 6. **Header 设计** - 国旗+语言选择按钮 - 连胜天数 (🔥) - 宝石数量 (💎) - 体力值 (❤️) 7. **语言选择下拉菜单** - 横向滚动国旗列表 - 在线加载真实国旗图片 (flagcdn.com) - 点击选择切换语言 - 国旗高亮显示 8. **TabBar 导航** - 首页 / 学习 / 我的 - 图标+文字垂直布局 - 当前页高亮显示 #### 修复问题 1. **API 兼容性修复** - JSON.parse() → JSON.new().parse() - Array.empty() → Array.is_empty() 2. **变量命名冲突** - exp → experience (避免与内置函数冲突) - name → lang_name (避免与 Node 属性冲突) - delta → _delta (未使用参数) 3. **资源引用修复** - 移除 theme UID 引用问题 - 修复 lingo_theme.tres 格式 4. **动画优化** - 简化花哨动画 - Logo 呼吸改为有限循环 (3次) - 修复 set_loops() 警告 #### 文件结构 ``` lang/ ├── assets/ │ └── flags/ # 国旗图片目录 ├── data/ │ └── question_bank.json # JSON 题库 ├── scenes/ │ ├── home/ │ │ ├── Home.tscn # 主页面 │ │ └── Home.gd │ ├── splash/ │ │ ├── Splash.tscn # 启动页 │ │ └── Splash.gd │ ├── onboard/ │ │ ├── Onboard.tscn # 引导页 │ │ └── Onboard.gd │ ├── lang_select/ │ │ ├── LangSelect.tscn # 语言选择 │ │ └── LangSelect.gd │ ├── lesson/ │ │ ├── Lesson.tscn # 答题页 │ │ └── Lesson.gd │ ├── result/ │ │ ├── Result.tscn # 结果页 │ │ └── Result.gd │ ├── profile/ │ │ ├── Profile.tscn # 个人中心 │ │ └── Profile.gd │ └── setting/ │ ├── Setting.tscn # 设置页 │ └── Setting.gd ├── scripts/ │ ├── GlobalData.gd # 全局数据 │ ├── SceneNav.gd # 场景导航 │ ├── QuestionManager.gd # 题库管理 │ └── AnimationHelper.gd # 动画工具 ├── ui/ │ └── lingo_theme.tres # UI 主题 └── project.godot # 项目配置 ``` ## 题库格式 ```json { "questions": [ { "id": "en_001", "language": "英语", "question": "apple 是什么意思?", "options": ["苹果", "香蕉", "橙子", "葡萄"], "answer": "苹果" } ] } ``` ## 第三方资源 - **国旗图片**: [flagcdn.com](https://flagcdn.com) - 免费国旗 API - **字体**: 系统默认字体 - **图标**: Emoji 表情符号 ## 运行说明 1. 使用 Godot 4.2+ 打开项目 2. 运行主场景 (Splash.tscn) 3. 首次使用选择学习语言 4. 点击"开始闯关"进入答题 ## 待优化项 - [ ] 添加音效开关 - [ ] 增加更多题库 - [ ] 添加关卡进度系统 - [ ] 支持离线模式缓存国旗图片 - [ ] 添加每日任务功能 ## 许可证 MIT License - 可自由使用和修改