求问,关于变量的问题
rmxp吧
全部回复
仅看楼主
level 1
想做个排行榜,可是怎么将多个变量的数值按大小排列起来,然后显示在显示文章里?条件分歧我知道,但是变量很多的话就不能愉快的玩耍了,各位大大有什么简单的方法吗?
2014年12月11日 16点12分 1
level 12
1、首先确定好排行榜上的变量(图中为1~4号)和一个临时记录当前分数的变量(图中为5号)
新建一个数组,将上述变量全部加入数组中(图中为array),格式为“数组名=[变量1,变量2,变量3…]”
2、用sort!函数将数组从大到小排列,格式为“数组名.sort!{|a,b| b-a}”。这个函数其实就是分别将所有的数组中的元素都比较一遍,也就相当于事件中的各种条件分歧了,但单纯用事件我是没想出有什么好方法能简化这一过程……
3、将排序好的数组中的各个元素依次赋值给排行榜上的变量,注意数组中的第1项是要用“数组名[0]”来表示的!最后的临时变量我设为0是为了避免破纪录时重复登入排行榜的情况出现,具体的细节可根据情况作改动。
至于显示在“显示文章”里就只需按需求将上述排行榜上的变量用“\V[变量]”转化成文本就好了。
2014年12月12日 06点12分 3
谢谢,真是太棒了[真棒]
2014年12月12日 09点12分
变量有很多,脚本框写不下怎么办[委屈]
2014年12月12日 09点12分
level 12
不好意思忽略了这点,脚本框确实有万恶的行数限制……[狂汗]
这样的话用脚本编辑器吧。
1、在Main之前插入一个脚本页(名字无所谓)
2、如图,输入图中的class、def行和2个end。
class Script
def sort
end
end
【选看:先定义一个类,格式为“class 类名 end”(图中为“Script”),再在该类下定义一个方法,格式为“def 方法名 end”(图中为“sort”)。实际上方法和类在这里只是先定义好了放在这儿,等到需要的时候还需要专门调用一下方法,其中的脚本才能发挥作用。】
3、在方法中(即def sort 下面一行)插入楼上给出的脚本动作。由于脚本编辑器没有行数限制,所以变量再多也应该盛得下吧……
4、在记录分数的事件中用脚本“类名.new.方法名”调用一次脚本编辑器中定义好的动作(图中为“Script.new.sort)就可以了。
2014年12月12日 13点12分 4
如果有不是很明白的地方的话就看看我改动过的显示8位排行榜的例子吧 地址:http://pan.baidu.com/s/1mgifHtI
2014年12月12日 13点12分
回复 水晶史莱姆 :变量的名称怎么和数值结合起来?还有显示文章只有四排,后面的怎么显示?
2014年12月12日 13点12分
回复 火箭小骚熊 :变量的名称好像在rmxp中没什么实际意义,因为rmxp中对变量的表示是$game_variables[x]。如果想做“超规格”显示文章的话可能真的需要转战脚本了……[呵呵]
2014年12月13日 12点12分
回复 水晶史莱姆 :好吧,我放弃
2014年12月13日 15点12分
level 8
谢谢,也正在关注此问题,我也遇到需要了,太感谢了
2014年12月13日 00点12分 5
level 8
见此。我是先看到这一贴的
https://tieba.baidu.com/p/3462535984
2014年12月19日 15点12分 6
level 8
在脚本编辑器中插入
def var
return $game_variables
end
def var=(value)
return $game_variables=value
end
就可以用var代替$game_variables字段了
2014年12月19日 15点12分 8
1