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

Project1

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

[已经解决] 伤害美化脚本有些不是很明白

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
18 小时
注册时间
2009-7-25
帖子
411
跳转到指定楼层
1
发表于 2009-9-30 21:20:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1.   # 如果伤害值是数值

  2.       if value.is_a?(Numeric)

  3.         # 绝对值转为字符串

  4.         damage_string = value.abs.to_s

  5.       else

  6.         # 转为字符串

  7.         damage_string = value.to_s

  8.       end
复制代码
000000000000000000000000
000000000000000000000000
  1.         # 分割伤害值字符串

  2.         damage_array = damage_string.scan(/./)

  3.         damage_x = 81 - damage_string.size * 9
复制代码
请帮忙解析下上面的脚本
damage_string.scan(/./)
这句中的
.scan(/./)特别不明白,望详解
damage_x = 81 - damage_string.size * 9
也不懂为什么要这样设置,81减,有什么含义吗
  1. number = char.to_i

  2.           # 显示伤害数字

  3.           bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),

  4.             Rect.new(number*18 , rect_y, 18, 32))

  5.           # 后移一位

  6.           damage_x += 18 #伤害字体大小
复制代码
number = char.to_i
char是什么的变量呢

Lv1.梦旅人

梦石
0
星屑
50
在线时间
18 小时
注册时间
2009-7-25
帖子
411
2
 楼主| 发表于 2009-10-1 09:17:56 | 只看该作者
。。。。。。。。。。。。。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
128 小时
注册时间
2009-1-28
帖子
2790
3
发表于 2009-10-1 09:23:46 | 只看该作者
.scan(/./)
从多字节字符串中取出1 个字节的方法

damage_x = 81 - damage_string.size * 9
计算哪个X坐标的数字才配对

炼金术的根本法则是等价交换。想要获得,必须失去同等价值的东西。每当烦躁的时候,煎熬在不想做却又正在做的烦心事中的时候,我就安慰自己,提醒自己做这些事情的目的所在,告诉自己不要忽略所获得或者即将获得的回报,物质的,精神的,肉体的,灵魂的回报!只做想做的事情,就会失去不想失去的东西。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
18 小时
注册时间
2009-7-25
帖子
411
4
 楼主| 发表于 2009-10-1 12:24:00 | 只看该作者
number = char.to_i
char是什么的变量呢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

~琉璃の雪~<

梦石
0
星屑
49
在线时间
36 小时
注册时间
2008-11-6
帖子
3678
5
发表于 2009-10-1 13:54:04 | 只看该作者
char是字符串的意思
搜索to_i后,得知:
返回某符号所对应的整数。
应该就是读取伤害的整数值吧.
~现在开始自绘头像~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

6
发表于 2009-10-1 13:58:22 | 只看该作者
本帖最后由 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
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

~琉璃の雪~<

梦石
0
星屑
49
在线时间
36 小时
注册时间
2008-11-6
帖子
3678
7
发表于 2009-10-1 14:01:39 | 只看该作者
谢谢II,难怪String里才有to_i的效果,好吧,54我吧.
~现在开始自绘头像~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
18 小时
注册时间
2009-7-25
帖子
411
8
 楼主| 发表于 2009-10-1 23:22:06 | 只看该作者
执行:伤害12345
=>变成String"12345"
=>变成Array["1","2","3","4","5"]
=>循环这个Array,在Array里面把String1再转化为Fixnum1

那个,为什么要循环的呢
回复 支持 反对

使用道具 举报

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1530
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

9
发表于 2009-10-1 23:41:01 | 只看该作者
  1. 那个,为什么要循环的呢
复制代码
乱入><

因为Array没有可以直接把里面字符串都转成数字的指令,于是需要逐个逐个拿出来转换。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
10
发表于 2009-10-3 11:23:24 | 只看该作者
在我刚刚学RGSS的时候也不懂for..in的、
然后我理解成了给一个变量赋值n个数。
比如for i in 0..105
我当时是以为变量i的值同时为0、1、2、3、4、5……104.
但是,后来我才知道我错了。=.=
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 22:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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