温馨提醒:系统正在全面升级。您可以访问最新站点。谢谢!
若参数并非整数,则将其变为整数。
u
将参数的数值看作是无符号整数,并以 10 进制整数的形式输出它。
p sprintf("%u", -1) # => "4294967295"
上面的代码会输出 p 0xffff_ffff.to_s。
“%u”会看作是定长整数的参数,对于负整数 n 来说
printf("%u", n)
与
printf("%d", n & ~(-1 << n.size*8))
是一个意思。
b
o
x
X
分别以 2 进制、8 进制、16 进制、16 进制(大写字母)字符串的形式输出整数。
若使用了“#”标识符的话,则分别在前面添加“0b”,“0”,“0x”,“0X”。
若没有使用“+”,“ ”标识符时,将在负数的前面(若有“#”标识符,则在“0x”等的后面)添加“..”。这表示最高位字符无限延伸,它采用了 2 的补数形式来表现负数。
p sprintf("%#b", 10) # => "0b1010"
p sprintf("%#o", 10) # => "012"
p sprintf("%#x", 10) # => "0xa"
# 对负数添加“..”
p sprintf("%#b", -1) # => "0b..1"
p sprintf("%#o", -1) # => "0..7"
p sprintf("%#x", -1) # => "0x..f"
p sprintf("%10x", -1) # => " ..f"
p sprintf("%-10x", -1) # => "..f "
# 若指定了「精度」的话,则不会添加“..”
p sprintf("%.10x", -1) # => "ffffffffff"
f
e
E
g
G
“f”以小数点形式(xxx.xxx)输出数值。
“e”以指数形式(x.xxxe+xx)输出数值。
“g”的情况比较特殊。当指数小于 -4 或者超出精度范围时,它采用“e”方式进行输出。除此之外,它采用“f”方式进行输出。另外,它会删除小数部分尾部的 0。
大写字母指示符(“E”,“G”)会将输出中的字母变为大写形式。
p sprintf("%f", 1.0) # => "1.000000"
p sprintf("%e", 1.0) # => "1.000000e+000"
p sprintf("%g", 1.0) # => "1"
p sprintf("%f", 10.1) # => "10.100000"
p sprintf("%e", 10.1) # => "1.010000e+001"
p sprintf("%g", 10.1) # => "10.1"
p sprintf("%g", 10 ** 6) # => "1e+006"
p sprintf("%g", 10 ** -5) # => "1e-005"
精度的缺省值为 6。RGSS 内部类
Bitmap
Color
Font
Plane
Rect
Sprite
Table
Tilemap
Tone
Viewport
Window
RGSSError
RPG::Sprite
RPG::Weather RGSS 内部函数
RGSS 中定义有以下内部函数。
load_data(filename)
读取 filename 指定的数据文件,重建对象。
$data_actors = load_data("Data/Actors.rxdata")
这个函数基本上和 File.open(filename, "rb") { |f|
obj = Marshal.load(f)
}
相同,但读取加密档案文件内部的文件时会有所不同。
save_data(obj, filename)
向 filename 指定的数据文件里写入对象 obj。
save_data($data_actors, "Data/Actors.rxdata")
这个函数和 File.open(filename, "wb") { |f|
Marshal.dump(obj, f)
}
相同。但是其不会在游戏中使用,仅作为和 load_data 相对应的函数而定义。
另外,内部函数 p 和 print,被重定义为输出到信息框。游戏库
RGSS 内部函数
RGSS 内部类
Bitmap
Color
Font
Plane
Rect
Sprite
Table
Tilemap
Tone
Viewport
Window
RGSSError
RPG::Sprite
RPG::Weather
RGSS 内部模块
Audio
Graphics
Input
RPG
RPG::Cache
RPGXP 数据结构
RPG::Map
RPG::MapInfo