创游世界商店系统速查卡
一句话摘要
创游世界商店系统的快速查询表,一问一答形式,帮助快速查阅商店类型、商品配置、购买逻辑和常见问题。
适合谁阅读
- 需要快速设计商店系统的开发者
- 遇到购买逻辑问题的创作者
- 想了解商店系统设计模式的进阶用户
你将学到什么
- 常见商店类型及其特点
- 商品数据如何配置
- 购买逻辑的实现方式
- 货币系统的设计方法
- 商店系统常见问题与解决
基础概念类
Q:商店系统需要哪些核心部分?
A:商店系统有四个核心部分:
| 部分 | 说明 | 实现方式 |
|---|---|---|
| 商品配置 | 商品列表、价格、库存 | 配置表 |
| 货币系统 | 金币、钻石等货币 | 玩家变量 |
| 购买逻辑 | 判断、扣钱、发道具 | 脚本 |
| UI界面 | 显示商品列表、购买按钮 | 操作UI |
Q:创游世界有哪些类型的商店?
A:常见商店类型:
| 类型 | 说明 | 典型场景 |
|---|---|---|
| 道具商店 | 购买消耗品、装备 | 血瓶、武器、防具 |
| 素材商店 | 购买装饰、建筑 | 皮肤、建筑 |
| 技能商店 | 购买技能、解锁能力 | 技能书、天赋 |
| 抽卡商店 | 随机获得道具 | 扭蛋、抽奖 |
| 回收商店 | 出售物品换取货币 | 杂货店 |
商品配置类
Q:商品数据怎么配置?
A:使用配置表存储商品基础数据:
| 字段 | 说明 | 示例 |
|---|---|---|
| 商品ID | 唯一标识 | potion_001 |
| 商品名称 | 显示名称 | 小型血瓶 |
| 类型 | 商品类型 | 消耗品 |
| 价格 | 购买价格 | 50 |
| 货币类型 | 支付哪种货币 | 金币 |
| 图标 | 商品图片 | potion.png |
| 库存 | 剩余数量(可选) | 99 |
| 限购 | 每日购买次数(可选) | 3 |
Q:商店商品怎么显示?
A:商店UI的显示流程:
商店打开时
↓
读取配置表的商品列表
↓
遍历商品 → 生成商品卡片
↓
显示商品名称、价格、图标购买逻辑类
Q:购买逻辑怎么实现?
A:基础购买逻辑:
当点击购买按钮时
获取商品.价格
获取玩家属性.金币
如果 金币 >= 价格
设置玩家属性.金币 = 金币 - 价格
添加道具到背包
显示 "购买成功"
发送广播 "刷新商店UI"
否则
显示 "金币不足"
结束Q:怎么实现限购?
A:使用玩家变量记录购买次数:
当购买时
获取玩家变量.商品A今日购买次数
如果 今日购买次数 >= 限购数
显示 "今日已限购"
否则
执行购买逻辑
设置玩家属性.商品A今日购买次数 = 今日购买次数 + 1
结束Q:怎么实现库存限制?
A:使用配置表或变量表记录库存:
当购买时
获取配置表.商品A.库存
如果 库存 > 0
执行购买逻辑
更新配置表.商品A.库存 = 库存 - 1
否则
显示 "商品已售罄"
结束Q:怎么实现折扣?
A:在配置表增加折扣字段:
当计算价格时
获取配置表.商品A.原价
获取配置表.商品A.折扣
实际价格 = 原价 * 折扣
显示 "原价:XX,折后:YY"货币系统类
Q:货币系统怎么设计?
A:常见货币类型:
| 货币 | 说明 | 获取方式 |
|---|---|---|
| 金币 | 主要货币 | 战斗、任务、出售 |
| 钻石 | 高级货币 | 充值、成就 |
| 积分 | 活动货币 | 活动参与 |
| 声望 | 特殊货币 | 声望任务 |
Q:怎么检查玩家是否有足够货币?
A:
当检查货币时
获取玩家属性.金币
获取商品.价格
如果 金币 >= 价格
返回 真
否则
返回 假
结束Q:货币不足时怎么提示?
A:
当货币不足时
显示 "金币不足,还需要XX金币"
或者 显示 "是否充值钻石兑换金币?"特殊商店类
Q:抽卡商店怎么实现?
A:使用随机数决定抽到什么:
当点击抽卡时
随机数 = 随机(1, 100)
如果 随机数 <= 5 // 5%概率
获得 "传说" 道具
否则
如果 随机数 <= 20 // 15%概率
获得 "史诗" 道具
否则
获得 "普通" 道具
结束
结束
显示抽卡结果动画
endQ:回收商店怎么实现?
A:玩家出售物品获得货币:
当点击出售按钮时
获取选中物品.出售价格
获取玩家属性.金币
设置玩家属性.金币 = 金币 + 出售价格
从背包移除物品
显示 "获得XX金币"
发送广播 "刷新背包UI"Q:商店刷新怎么实现?
A:定时或手动刷新商品列表:
// 定时刷新
重复每隔 3600 秒
发送广播 "商店刷新"
end
当收到广播 "商店刷新" 时
随机生成新商品列表
更新商店UI
显示 "商店已刷新"常见问题类
Q:购买后道具没到账?
A:检查清单:
| 检查项 | 说明 |
|---|---|
| 背包是否已满 | 需要检查背包容量 |
| 道具是否添加成功 | 添加逻辑是否有问题 |
| 广播是否发送 | UI刷新广播是否正确 |
Q:金币扣了但没发货?
A:检查购买逻辑顺序:
// 正确顺序:先检查 → 扣钱 → 发货
如果 金币 >= 价格
扣钱
发货
发送刷新广播
结束Q:商店UI不刷新?
A:检查广播和UI更新逻辑:
- 购买后是否发送刷新广播
- UI是否正确接收广播
- UI刷新逻辑是否正确
Q:商品价格显示不对?
A:检查:
- 配置表中的价格是否正确
- 是否有折扣逻辑
- 货币类型是否正确
商店类型选择速查
| 需求 | 推荐商店类型 |
|---|---|
| 卖消耗品 | 道具商店 |
| 卖装备 | 装备商店 |
| 随机奖励 | 抽卡商店 |
| 卖装饰 | 素材商店 |
| 回收物品 | 回收商店 |
| 解锁技能 | 技能商店 |
概念关系速查
商店系统 = 四部分
├── 商品配置(配置表)
│ ├── 商品ID
│ ├── 名称
│ ├── 价格
│ └── 库存
├── 货币系统(玩家变量)
│ ├── 金币
│ ├── 钻石
│ └── 积分
├── 购买逻辑(脚本)
│ ├── 检查货币
│ ├── 扣款
│ └── 发货
└── 商店UI(操作UI)
├── 商品列表
├── 购买按钮
└── 货币显示相关页面
- 创游世界商店系统实战设计指南 - 完整版商店设计
- 创游世界道具系统设计入门 - 道具系统设计
- 创游世界背包与货币系统设计入门 - 背包与货币系统
- 创游世界数据存储选择指南 - 数据存储
待验证问题
以下问题需要进一步验证:
| 问题 | 状态 | 验证方向 |
|---|---|---|
| 商店系统的具体参数默认值 | 🔄 待验证 | 需要官方文档确认 |
| 不同商店类型的实际实现差异 | 🔄 待验证 | 需要实际项目对比 |
| 抽卡概率的引擎限制 | 🔄 待验证 | 需要引擎测试 |
> 📝 说明:商店系统核心逻辑已稳定,具体参数属于进阶内容。
后续优化方向
- [ ] 补充更多商店类型的设计案例
- [ ] 增加限时商店/特卖专题
- [ ] 完善抽卡保底机制说明
