游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5131|回复: 2

RPG游戏背包设计

[复制链接]

1

主题

2

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2015-7-6 19:22:46 | 显示全部楼层 |阅读模式
一个背包系统,里面的东西可以拖动换位置。有没有设计过这种东西的?数据库里是怎么存储的?比如我把5个物品换了位置,在数据库中插入还是更新需要做判断,做判断的话成本又太高

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2015-7-8 10:36:33 | 显示全部楼层
个人理解
背包在游戏中就是一个 物品抽象的数组,因为是物品抽象,所以后面的操作,不用针对物品,只需要针对这个抽象就可以了,最简单的例子:调换物品位置,我只需要写一个方法,该方法是调换抽象物品A和抽象物品B,这样的话我就不必在意在使用方法的时候,我调换的是消耗品和装备,还是任务物品和装备了。
储存的话,因为在内存中,所以不必要实时的存贮,只需要每间隔一段时间存储一次就可以了。
存储的形式当然是序列化,因为你在数据库的单元格里面不并能存储(或者说表现)一个类(物品抽象的数组),你只能把这个类序列化成某种形式,取出来的时候再反序列化一次就可以了。
服务端新人,欢迎交流。

0

主题

2

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2015-8-17 11:59:44 | 显示全部楼层
物品集合和背包分开,背包格子只记录物品集合的id.交互背包中的物品交换背包中的物品只是交换背包格子对应的物品集合id。
物品集合 1001-宝石 1002-大刀 1003-包子
bank[0] = 1001//银行第一格
bag[0]=1002//背包第一格
bag[1]=1003//背包第二格
交换背包格子0,1中的物品只是交换物品集合id.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-25 17:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表