Project1

标题: 如何使用 数组 作为变量? [打印本页]

作者: gaofei677    时间: 2013-2-18 09:21
标题: 如何使用 数组 作为变量?
由于最近做的游戏里变量众多,所以最近考虑用数组作为变量,这样会方便许多
我试着用了
$a=[]
$a[0]=1

if $a[0]>0
print "123"
end

这样的方法来用全局变量,但是问题很多
1,不知道之前$a变量定义应该放在什么地方
2,后面使用变量的时候,如果把变量定义放在地图A,使用变量也放在地图A(两个放在不同的事件也可以),这样,这个变量是可以使用的
     但是如果把使用变量的事件放在地图B,那么运行的时候则提示“该变量未定义”

我不太懂脚本,胡乱弄了一下,总之,我是想使用数组作为变量,使用起来和系统自带的常数变量,开关变量一样方便
希望大家能知道我一下,谢谢
作者: 怪蜀黍    时间: 2013-2-18 10:29
P叔先把最重要的说了:全局变量如$a最好别用,因为它是不被存档的,当你下次取档,它就会重置变为nil
你可以把任意默认变量作为数组使用,这样就可以存档了。比如变量10,只要:
  1. $game_variables[10] = []
  2. $game_variables[10][0] = 1
复制代码
就可以了!默认的变量是可以存档的!而且不用考虑在什么地方初始化定义。
估计P叔这些回答已经可以帮助你解决问题了!
作者: gaofei677    时间: 2013-2-18 12:12
protosssonny 发表于 2013-2-18 10:29
P叔先把最重要的说了:全局变量如$a最好别用,因为它是不被存档的,当你下次取档,它就会重置变为nil!
你 ...


{:2_249:} 真是太感谢P叔了,哈哈,解决了让我一个晚上都没睡好觉的问题,过会儿试一下


作者: gaofei677    时间: 2013-2-18 12:14
本帖最后由 gaofei677 于 2013-2-18 12:21 编辑
protosssonny 发表于 2013-2-18 10:29
P叔先把最重要的说了:全局变量如$a最好别用,因为它是不被存档的,当你下次取档,它就会重置变为nil!
你 ...


顺便能再求解一个问题吗,用什么语句可以不用打开系统自带存档窗口,把当前游戏状态储存到指定档位中去
{:2_264:}  还有就是相应是读取存档的语句,同样是不打开系统窗口,直接读取指定档位的存档
作者: 945127391    时间: 2013-2-18 12:53
gaofei677 发表于 2013-2-18 12:14
顺便能再求解一个问题吗,用什么语句可以不用打开系统自带存档窗口,把当前游戏状态储存到指定档位中去
{ ...

存档:
  1. DataManager.save_game(位置)
复制代码
读档:
  1. DataManager.load_game(位置)
复制代码
以上的我全都没用过,所以不知道有木有效……
作者: gaofei677    时间: 2013-2-18 13:40
945127391 发表于 2013-2-18 12:53
存档:读档:以上的我全都没用过,所以不知道有木有效……

这个刚刚试过了,好象不行哦{:2_254:}
作者: 怪蜀黍    时间: 2013-2-18 15:21
gaofei677 发表于 2013-2-18 12:14
顺便能再求解一个问题吗,用什么语句可以不用打开系统自带存档窗口,把当前游戏状态储存到指定档位中去
{ ...
  1. file = File.open("Save1.rvdata", "wb")
  2. Scene_File.new(true,false,false).write_save_data(file)
  3. file.close
复制代码

作者: gaofei677    时间: 2013-2-18 17:21
本帖最后由 gaofei677 于 2013-2-18 17:47 编辑
protosssonny 发表于 2013-2-18 15:21


读取指定存档是这样写吗 ,P叔

RUBY 代码复制
  1. file = File.open("Save1.rvdata", "wb")
  2. Scene_File.new(true,false,false).read_save_data(file)
  3. file.close





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1