Files
whale-town-front/docs/01-项目入门/项目设置指南.md
moyin fdedb21cbd fix: 修复GDScript警告和UID冲突问题
代码修复:
- NetworkManager.gd: 修复参数名冲突和未使用变量警告
- StringUtils.gd: 修复变量名与内置函数char冲突
- ResponseHandler.gd: 移除static关键字,改为实例方法
- AuthScene.gd: 恢复正确的ResponseHandler调用方式

 资源清理:
- 删除assets/sprites/icon/下的重复图标文件
- 删除UI/Theme/下的重复字体和主题文件
- 统一使用assets/路径下的资源文件

 配置修复:
- 修复LoginWindow.tscn和main_scene.tscn中的UID引用
- 更新chinese_theme.tres中的字体路径引用
- 添加project.godot调试设置以减少渲染器警告

 文档更新:
- 更新项目设置指南中的主题和字体路径引用

解决问题:
-  修复所有GDScript编译警告
-  解决UID重复冲突警告
-  统一资源文件路径结构
-  保持Web部署兼容性
2025-12-31 19:35:20 +08:00

142 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目设置指南
本文档指导你完成WhaleTown项目的Godot编辑器配置确保开发环境正确设置。
## 🎯 AutoLoad 配置
项目已经预配置了以下AutoLoad单例你可以验证配置是否正确
### 1. 打开项目设置
1. 在Godot编辑器中打开 `Project``Project Settings`
2. 切换到 `AutoLoad` 标签
### 2. 验证AutoLoad配置
确认以下单例已正确配置:
| 名称 | 路径 | 单例 |
|------|------|------|
| GameManager | `res://_Core/managers/GameManager.gd` | ✅ |
| SceneManager | `res://_Core/managers/SceneManager.gd` | ✅ |
| EventSystem | `res://_Core/systems/EventSystem.gd` | ✅ |
| NetworkManager | `res://_Core/managers/NetworkManager.gd` | ✅ |
| ResponseHandler | `res://_Core/managers/ResponseHandler.gd` | ✅ |
### 3. 如果需要手动添加AutoLoad
如果某个AutoLoad缺失可以手动添加
1. 点击 `Add` 按钮
2. 设置以下信息:
- **Path**: 对应的脚本路径
- **Name**: 单例名称
- **Singleton**: ✅ 勾选
3. 点击 `Add` 确认
## ⚙️ 其他重要设置
### 主题配置
项目使用自定义中文主题:
- **路径**: `assets/ui/chinese_theme.tres`
- **字体**: 微软雅黑 (`assets/fonts/msyh.ttc`)
### 主场景设置
- **主场景**: `res://Scenes/Maps/main_scene.tscn`
- **窗口大小**: 1376x768
- **窗口模式**: 全屏模式
### 渲染设置
- **渲染器**: GL Compatibility (兼容性优先)
- **拉伸模式**: Canvas Items
- **拉伸比例**: Expand
## 🧪 验证设置
### 1. 测试AutoLoad单例
在任何脚本中可以直接使用:
```gdscript
func _ready():
# 测试GameManager
print("游戏状态: ", GameManager.get_current_state())
# 测试SceneManager
print("当前场景: ", SceneManager.get_current_scene_name())
# 测试EventSystem
EventSystem.emit_event("test_event", {"message": "Hello World"})
# 测试NetworkManager
var request_id = NetworkManager.login("test_user", "test_password")
print("网络请求ID: ", request_id)
```
### 2. 检查控制台输出
运行项目后,检查控制台是否有以下信息:
- ✅ 没有AutoLoad相关错误
- ✅ 各个管理器初始化成功
- ✅ 主题和字体加载正常
### 3. 测试场景切换
```gdscript
# 测试场景管理器
func test_scene_manager():
# 切换到主场景
SceneManager.change_scene("main")
```
## 🔧 常见问题排查
### 问题1: AutoLoad脚本找不到
**症状**: 控制台显示"Cannot load script"错误
**解决方案**:
1. 检查脚本文件是否存在于指定路径
2. 确认脚本文件没有语法错误
3. 重新导入项目 (`Project``Reload Current Project`)
### 问题2: 单例无法访问
**症状**: 代码中无法访问GameManager等单例
**解决方案**:
1. 确认AutoLoad配置中勾选了"Singleton"
2. 重启Godot编辑器
3. 检查脚本中是否有拼写错误
### 问题3: 主题显示异常
**症状**: 界面字体或样式显示不正确
**解决方案**:
1. 检查 `assets/ui/chinese_theme.tres` 文件是否存在
2. 确认字体文件 `assets/fonts/msyh.ttc` 已正确导入
3. 在项目设置中重新设置自定义主题
### 问题4: 网络请求失败
**症状**: NetworkManager调用失败
**解决方案**:
1. 检查网络连接
2. 确认API地址配置正确
3. 查看ResponseHandler是否正常工作
## 📋 配置检查清单
完成设置后,请检查以下项目:
- [ ] 所有AutoLoad单例配置正确
- [ ] 主场景可以正常启动
- [ ] 控制台没有错误信息
- [ ] 自定义主题加载正常
- [ ] 中文字体显示正确
- [ ] 网络管理器可以正常调用
- [ ] 事件系统工作正常
- [ ] 场景管理器可以切换场景
## 🚀 下一步
配置完成后,建议继续阅读:
- [输入映射配置](输入映射配置.md) - 设置游戏控制
- [命名规范](../02-开发规范/命名规范.md) - 学习编码规范
- [架构与通信规范](../02-开发规范/架构与通信规范.md) - 理解项目架构
---
**💡 提示**: 如果遇到问题,可以参考 [测试指南](../03-技术实现/测试指南.md) 进行更详细的功能验证。