设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1979|回复: 1
打印 上一主题 下一主题

[已经解决] 把游戏变量当作数组用的一些问题

[复制链接]

Lv5.捕梦者

梦石
0
星屑
33079
在线时间
5104 小时
注册时间
2012-11-19
帖子
4878

开拓者

跳转到指定楼层
1
发表于 2013-7-14 17:08:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
由于本人做的工程里面要用到很多变量,大概 2000 以上吧,所以有时候感觉特复杂。
于是想了个办法,把变量当作数组用。
比如 叶子 前辈的 升级加点 脚本,里面一个角色的自由点对应一个变量,本人工程由于有 大概 200 个角色,
太占用变量资源,所以就指定一个变量为数组,只用该变量来储存所有角色的自由点。
具体为:
在 新游戏 -- 生成各种游戏对像  后面,指定一个变量(比如 1 号)
$game_variables[1] = []
for i in 0..$data_actors.size
  $game_variables[1][i] = 0
end
这样就先初始化,
然后修改 加点系统
升级 -->  $game_variables[1][actor.id] += 1
同样显示剩余自由点也显示:$game_variables[1][actor.id]
这样就只占用一个变量。
问题:由于改变了变量为数组,在存取档,特别是游戏做好,加密打包后,读取,存取变量数值
      会不会出现:报错;不能读取;乱码;,,,等现象?

点评

我试过用一个变量保存游戏的角色的所有数据,独立档。素材加密、数据加密,读取无压力  发表于 2013-7-14 22:11
理论上是没有问题的,当然数组太大,加密打包后读取应该会有一点延时。另开个档应该会好些  发表于 2013-7-14 22:08
理论上来讲2000不应该会有什么影响,要不就将这些数组另外dump一个档。  发表于 2013-7-14 17:34
关键是以后游戏做好了,会不会出现错误的问题。好不容易做好的游戏,再重改就麻烦了  发表于 2013-7-14 17:26
不会出现报错的,我一直这样用。话说$game_variables[1] = {}也可以的  发表于 2013-7-14 17:24
xp vx va mv  va mz 各类型脚本/插件定制

Lv3.寻梦者

梦石
0
星屑
3570
在线时间
3064 小时
注册时间
2011-11-17
帖子
980
2
发表于 2013-7-14 23:08:01 | 只看该作者
从内存上来说 这样应该省不了多少吧?  好比 1个int 4个字节 我弄10个int型变量40字节 我弄1个含10元素的int型数组 也是40字节啊 最多方便规划而已 但是要方便的话 为何不把那些加点作为actor类的成员变量呢?

点评

成员变量这个方法不错,调用都很方便。  发表于 2013-7-20 17:26
不是节省内存得说。既然已经解决,就以后再说了。  发表于 2013-7-20 17:25
然后通过指定角色.称号数组[下标]索引称号  发表于 2013-7-16 00:11
你所谓的称号是 每个角色 对应 多个称号? 如果不是和每个角色对应的话 写个称号类就行了 如果对应的话 在ACTOR类的成员变量里 增加个数值  发表于 2013-7-16 00:10
加点的我已经弄成成员变量了,只是有些东西还是不知道该怎么弄?比如:用一个变量记录actor的获得的称号(称号不只一个),请求指点  发表于 2013-7-15 23:27
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-23 06:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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