创游世界商店系统速查卡
一句话摘要
创游世界商店系统的速查指南,帮助你快速理解商品配置、购买逻辑、货币管理、库存刷新等核心概念,掌握商店系统的设计与实现方法。
适合谁阅读
- 想快速实现商店系统的开发者
- 遇到购买逻辑问题的制作者
- 需要参考商店设计的进阶用户
你将学到什么
- 商店系统的核心组件
- 商品配置方法
- 购买逻辑流程
- 货币管理系统
- 库存刷新机制
一、商店系统核心问题
Q1:商店系统需要哪些组件?
A: 商店系统通常需要以下组件:
| 组件/元素 | 用途 |
|---|---|
| 商店UI | 显示商品列表 |
| 货币组件 | 管理玩家货币 |
| 背包组件 | 存放购买物品 |
| 可互动物体 | 打开商店入口 |
| 商品配置表 | 存储商品信息 |
商店对象
├─ 可互动物件(打开商店)
├─ 商店UI(显示界面)
└─ 商店逻辑脚本(处理购买)Q2:怎么配置商品?
A: 使用配置表存储商品信息。
配置表:商品列表
├─ 商品1:ID=1, 名称=血瓶, 价格=50, 图标=item_potion
├─ 商品2:ID=2, 名称=蓝瓶, 价格=50, 图标=item_mana
├─ 商品3:ID=3, 名称=铁剑, 价格=200, 图标=weapon_sword
└─ 商品4:ID=4, 名称=盾牌, 价格=300, 图标=armor_shield商品配置字段:
| 字段 | 说明 |
|---|---|
| ID | 商品唯一标识 |
| 名称 | 商品显示名 |
| 价格 | 购买所需货币 |
| 类型 | 消耗品/装备/材料 |
| 效果 | 商品效果描述 |
| 图标 | 显示图标 |
Q3:购买流程是什么?
A: 标准购买流程:
玩家点击购买
↓
UI检查货币是否足够
↓ 足够
发送"请求购买"广播
↓
地图脚本处理:
├─ 检查货币
├─ 扣除货币
├─ 添加物品到背包
└─ 发送"购买成功"广播
↓
UI收到广播,刷新显示购买脚本示例:
当点击"购买"按钮时
获取当前商品ID
获取商品价格
获取玩家货币
如果 玩家货币 >= 商品价格 那么
发送广播 "请求购买" 参数:商品ID
否则
显示提示 "货币不足"
结束
结束Q4:怎么管理货币?
A: 使用玩家变量存储货币。
玩家变量表:货币
├─ 金币:初始1000
├─ 钻石:初始0
└─ 积分:初始0货币操作:
获得货币:
设置玩家属性 "金币" 为 玩家属性 "金币" + 获得数量
扣除货币:
设置玩家属性 "金币" 为 玩家属性 "金币" - 消耗数量
检查货币:
如果 玩家属性 "金币" >= 消耗数量 那么
可以购买
结束Q5:库存怎么刷新?
A: 商店库存可以分为:
| 库存类型 | 说明 | 刷新方式 |
|---|---|---|
| 无限库存 | 永远有货 | 不刷新 |
| 每日刷新 | 每天重置 | 按日期判断 |
| 定时刷新 | 间隔刷新 | 按时间间隔 |
| 随机库存 | 每次随机 | 按概率生成 |
每日刷新示例:
当玩家开始时
获取上次登录日期
获取当前日期
如果 当前日期 != 上次日期 那么
刷新商店库存
设置上次登录日期 = 当前日期
结束
结束Q6:怎么防止重复购买?
A: 使用条件判断检查是否已拥有。
检查背包:
遍历背包数组
如果 物品ID == 当前商品ID 那么
如果 已达最大购买次数 那么
显示 "已拥有"
否则
允许购买
结束
结束
结束特殊商品处理:
装备类:
├─ 检查背包是否已有
└─ 已有则不能重复购买
消耗品类:
├─ 检查背包是否已满
└─ 未满则可以购买
材料类:
├─ 无购买限制
└─ 可以无限购买Q7:购买失败怎么处理?
A: 常见失败情况和处理方式:
| 失败原因 | 处理方式 |
|---|---|
| 货币不足 | 显示"货币不足"提示 |
| 背包已满 | 显示"背包已满"提示 |
| 已拥有(装备) | 显示"已拥有该装备"提示 |
| 商品已售罄 | 显示"已售罄",刷新列表 |
| 等级不足 | 显示"等级不足"提示 |
地图脚本:
当收到广播 "请求购买" 时
执行购买逻辑
如果 成功 那么
发送广播 "购买成功" 参数:商品ID
否则
发送广播 "购买失败" 参数:失败原因
结束
结束
UI脚本:
当收到广播 "购买失败" 时
显示提示 "失败原因"
结束Q8:商店UI怎么设计?
A: 商店UI通常包含:
商店UI结构
├─ 标题栏
│ └─ 商店名称 + 货币显示
│
├─ 商品列表
│ ├─ 商品1:图标 + 名称 + 价格 + 购买按钮
│ ├─ 商品2:图标 + 名称 + 价格 + 购买按钮
│ └─ ...
│
├─ 商品详情区
│ └─ 选中商品的效果说明
│
└─ 关闭按钮UI脚本职责:
├─ 显示商品列表
├─ 监听购买按钮点击
├─ 发送购买请求
└─ 刷新货币显示二、商店类型参考
2.1 消耗品商店
特点:
├─ 可无限购买
├─ 购买后直接使用
└─ 需要背包空间
配置:
商品 = {类型=消耗品, 库存=无限, 价格=固定}2.2 装备商店
特点:
├─ 每个玩家限买一次
├─ 不可重复购买
└─ 永久属性加成
配置:
商品 = {类型=装备, 库存=1, 价格=固定, 条件=等级>=10}2.3 随机商店
特点:
├─ 每次进入商品不同
├─ 有刷新间隔
└─ 有稀有度概率
配置:
刷新间隔 = 24小时
稀有度 = {普通=70%, 稀有=25%, 史诗=5%}2.4 兑换商店
特点:
├─ 用特殊货币购买
├─ 无限库存
└─ 需要兑换凭证
货币:
├─ 金币商店 → 金币
├─ 钻石商店 → 钻石
└─ 积分商店 → 积分三、商店系统速查表
| 需求 | 实现方式 |
|---|---|
| 商品配置 | 配置表存储商品信息 |
| 货币管理 | 玩家属性/变量表 |
| 购买判断 | 检查货币+背包空间+条件 |
| 库存刷新 | 按时间/按条件刷新 |
| 购买动画 | 发送广播触发特效 |
| UI刷新 | 收到广播后更新显示 |
相关页面
- 创游世界商店系统实战设计指南 - 完整商店设计
- 创游世界道具系统设计入门 - 道具系统设计
- 创游世界背包与货币系统设计入门 - 背包系统
- 常见问题与避坑指南 - 常见问题解决
待验证问题
以下问题需要进一步验证:
| 问题 | 状态 | 验证方向 |
|---|---|---|
| 不同版本商店组件的具体参数 | 🔄 待验证 | 需要官方文档确认 |
| 联机环境下商店的同步策略 | 🔄 待验证 | 需要联机环境测试 |
📝 说明:商店系统核心用法已稳定,进阶内容属于研究范畴。
后续优化方向
- [ ] 补充更多商店类型示例
- [ ] 添加商店UI模板
- [ ] 完善商店经济系统设计
