更新
This commit is contained in:
parent
2c43aba4bf
commit
3661704fb4
@ -1,147 +0,0 @@
|
|||||||
# 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** - 初始版本,支持基础符文显示和小丑牌动画
|
|
||||||
- 支持符文执行记录接收和播放
|
|
||||||
- 支持测试脚本快速验证功能
|
|
17
readme.md
17
readme.md
@ -1,17 +0,0 @@
|
|||||||
# rbxPlanetSteroids
|
|
||||||
Generated by [Rojo](https://github.com/rojo-rbx/rojo) 7.4.4.
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
To build the place from scratch, use:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
rojo build -o "rbxPlanetSteroids.rbxlx"
|
|
||||||
```
|
|
||||||
|
|
||||||
Next, open `rbxPlanetSteroids.rbxlx` in Roblox Studio and start the Rojo server:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
rojo serve
|
|
||||||
```
|
|
||||||
|
|
||||||
For more help, check out [the Rojo documentation](https://rojo.space/docs).
|
|
Loading…
x
Reference in New Issue
Block a user