rbxIdleWeapon/RUNE_STATE_WINDOW_README.md

148 lines
3.7 KiB
Markdown
Raw Normal View History

2025-08-20 19:29:16 +08:00
# RuneStateWindow 符文状态窗口
## 📋 功能概述
RuneStateWindow是一个用于显示当前穿戴符文状态的UI窗口主要功能包括
1. **符文栏显示** - 根据当前穿戴装备显示符文列表
2. **小丑牌动画** - 接收服务端符文执行记录后播放类似小丑牌的动画效果
## 🏗️ 文件结构
```
src/StarterPlayerScripts/UI/Windows/RuneStateWindow/
├── init.luau # 主窗口文件
└── RuneShow.luau # 符文显示组件
src/StarterPlayerScripts/ClientMain/
├── RuneExecutionClient.luau # 客户端接收符文执行记录
└── TestRuneStateWindow.luau # 测试脚本
```
## 🎮 使用方法
### 1. 打开符文状态窗口
```lua
-- 通过UIManager打开窗口
UIManager:OpenWindow("RuneStateWindow", {
runeData = {
{
runeName = "RuneFireDamage",
runeUniqueId = 1,
level = 5,
icon = "fire_icon"
},
{
runeName = "RuneIceCoffin",
runeUniqueId = 2,
level = 3,
icon = "ice_icon"
}
}
})
```
### 2. 接收符文执行记录
窗口会自动接收服务端发送的符文执行记录,并播放动画:
```lua
-- 服务端发送的数据格式
local executionRecords = {
{
runeName = "RuneFireDamage",
runeUniqueId = 1,
index = 1,
timestamp = tick(),
action = "Execute",
attributesBefore = {attack = 100, hp = 1000},
attributesAfter = {attack = 150, hp = 1000},
behaviorListBefore = {"Attack"},
behaviorListAfter = {"Attack", "FireDamage"},
nextIndex = 2
}
}
```
### 3. 测试功能
使用测试脚本可以快速验证功能:
- **按 R 键** - 打开符文状态窗口
- **按 T 键** - 模拟接收符文执行记录
- **按 C 键** - 关闭符文状态窗口
## 🎨 动画效果
### 小丑牌动画特点
1. **金色光效** - 符文激活时显示金色发光效果
2. **缩放动画** - 符文图标会放大并旋转
3. **粒子效果** - 中心产生黄色粒子扩散效果
4. **顺序播放** - 多个符文按执行顺序依次播放动画
### 动画参数
- **动画时长**: 0.3秒
- **缩放比例**: 1.5倍
- **旋转角度**: 360度
- **颜色**: 金色(#FFD700)和黄色(#FFFF00)
## 🔧 技术实现
### 核心组件
1. **RuneStateWindow** - 主窗口管理
- 管理符文执行记录队列
- 控制动画播放顺序
- 处理窗口生命周期
2. **RuneShow** - 符文显示组件
- 显示符文图标、名称、等级
- 处理符文激活动画
- 管理组件生命周期
3. **RuneExecutionClient** - 客户端接收器
- 监听服务端符文执行记录
- 转发数据到窗口组件
### 数据流程
```
服务端符文执行 → RemoteEvent发送 → 客户端接收 → 窗口处理 → 动画播放
```
## 🎯 扩展功能
### 可扩展的动画效果
1. **音效支持** - 添加符文激活音效
2. **特效增强** - 添加更多视觉特效
3. **交互功能** - 点击符文查看详情
4. **状态显示** - 显示符文冷却时间
### 自定义动画
可以通过修改`CreateJokerCardEffect`方法来自定义动画效果:
```lua
function RuneStateWindow:CreateJokerCardEffect(runeItem, record)
-- 自定义动画逻辑
-- 可以添加更多特效、音效等
end
```
## 🐛 注意事项
1. **UI预制体** - 需要创建对应的UI预制体`ui_w_rune_state`
2. **符文数据** - 需要正确配置符文JSON数据
3. **图标资源** - 需要上传对应的符文图标资源
4. **性能优化** - 大量符文时注意动画性能
## 📝 更新日志
- **v1.0.0** - 初始版本,支持基础符文显示和小丑牌动画
- 支持符文执行记录接收和播放
- 支持测试脚本快速验证功能