Project1
标题:
伤害美化脚本有些不是很明白
[打印本页]
作者:
flzt5354
时间:
2009-9-30 21:20
标题:
伤害美化脚本有些不是很明白
# 如果伤害值是数值
if value.is_a?(Numeric)
# 绝对值转为字符串
damage_string = value.abs.to_s
else
# 转为字符串
damage_string = value.to_s
end
复制代码
000000000000000000000000
000000000000000000000000
# 分割伤害值字符串
damage_array = damage_string.scan(/./)
damage_x = 81 - damage_string.size * 9
复制代码
请帮忙解析下上面的脚本
damage_string.scan(/./)
这句中的
.scan(/./)特别不明白,望详解
damage_x = 81 - damage_string.size * 9
也不懂为什么要这样设置,81减,有什么含义吗
number = char.to_i
# 显示伤害数字
bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),
Rect.new(number*18 , rect_y, 18, 32))
# 后移一位
damage_x += 18 #伤害字体大小
复制代码
number = char.to_i
char是什么的变量呢
作者:
flzt5354
时间:
2009-10-1 09:17
。。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者:
霜冻之狼
时间:
2009-10-1 09:23
.scan(/./)
从多字节字符串中取出1 个字节的方法
damage_x = 81 - damage_string.size * 9
计算哪个X坐标的数字才配对
作者:
flzt5354
时间:
2009-10-1 12:24
number = char.to_i
char是什么的变量呢
作者:
夏季冰川
时间:
2009-10-1 13:54
char是字符串的意思
搜索to_i后,得知:
返回某符号所对应的整数。
应该就是读取伤害的整数值吧.
作者:
IamI
时间:
2009-10-1 13:58
本帖最后由 IamI 于 2009-10-1 14:00 编辑
char是字符串的意思
搜索to_i后,得知:
返回某符号所对应的整数。
应该就是读取伤害的整数值吧.
夏季冰川 发表于 2009-10-1 13:54
= =错了是把char类型(在Ruby中,就是String类型)转换成数字(Fixnum)
scan/./的意思是,把string变为char的数组
整个来看,就是:
执行:伤害12345
=>变成String"12345"
=>变成Array["1","2","3","4","5"]
=>循环这个Array,在Array里面把String1再转化为Fixnum1
作者:
夏季冰川
时间:
2009-10-1 14:01
谢谢II,难怪String里才有to_i的效果,好吧,54我吧.
作者:
flzt5354
时间:
2009-10-1 23:22
执行:伤害12345
=>变成String"12345"
=>变成Array["1","2","3","4","5"]
=>循环这个Array,在Array里面把String1再转化为Fixnum1
那个,为什么要循环的呢
作者:
「旅」
时间:
2009-10-1 23:41
那个,为什么要循环的呢
复制代码
乱入><
因为Array没有可以直接把里面字符串都转成数字的指令,于是需要逐个逐个拿出来转换。
作者:
奶油Da蛋糕
时间:
2009-10-3 11:23
在我刚刚学RGSS的时候也不懂for..in的、
然后我理解成了给一个变量赋值n个数。
比如for i in 0..105
我当时是以为变量i的值同时为0、1、2、3、4、5……104.
但是,后来我才知道我错了。=.=
作者:
flzt5354
时间:
2009-10-3 14:13
for char in damage_array
我尝试改成
char=damage_array
- -然后游戏打怪就会报错。。出现'2''5''5'之类的伤害数字
变量 char 的值按damage_array得范围变化
一直不理解是怎样执行的。。
作者:
IamI
时间:
2009-10-5 10:10
你在改的那行(没改过)下面加个p char就会了解了……
Ruby当中没有for,只有for each
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1