Project1

标题: 如何获取技能的速度修正,MP消耗,基本伤害值? [打印本页]

作者: 白魔导师宝儿    时间: 2013-11-12 17:30
标题: 如何获取技能的速度修正,MP消耗,基本伤害值?
请问要用什么脚本获取技能的速度修正,MP消耗,基本伤害值?
作者: 铃仙·优昙华院·因幡    时间: 2013-11-12 18:22
$data_skills[技能ID].mp_cost  消耗的 MP
$data_skills[技能ID].hit           技能命中率
$data_skills[技能ID].speed      速度修正
$data_skills[技能ID].base_damage 基本伤害
作者: 白魔导师宝儿    时间: 2013-11-12 18:27
铃仙·优昙华院·因幡 发表于 2013-11-12 18:22
$data_skills[技能ID].mp_cost  消耗的 MP
$data_skills[技能ID].hit           技能命中率
$data_skills[ ...

如果要描绘出某个技能的以上信息,
是不是用draw_text+data_skills[技能ID].mp_cost  #消耗的 MP
就能描绘出来?

作者: 铃仙·优昙华院·因幡    时间: 2013-11-12 18:30
本帖最后由 铃仙·优昙华院·因幡 于 2013-11-13 20:47 编辑

窗口类的话, 是

self.contents.draw_text(x, y, width, height, data_skills[技能ID].mp_cost)
作者: myownroc    时间: 2013-11-12 19:47
数字要转为字符才可以
$data_skill[id].mp_cost要写成$data_skill.mp_cost.to_s
其余依此类推
当然,如果不是数字而是字符就不用后面的.to_s了
比如$data_skill[id].name
作者: 774741359    时间: 2013-11-12 22:41
F1可以在 RGSS参考文件>游戏函数库>数据结构 中得到你想要的数据结构
F1可以在 RGSS参考文件>游戏函数库>内建类 中得到你想要的函数以及子方法

如果绘制在窗口(Window)上,需要绘制在窗口的[contents]上。
如果绘制在精灵(Sprite)上,需要绘制在精灵的[bitmap]上。
虽然名字不同,但是他们都是[bitmap],所以你需要把RGSS参考文件>游戏函数库>内建类>Bitmap以及其他看一遍。

.to_s?
RGSS参考文件>标准函数库>内建类>Object 物件类看一遍。
to_ary?to_hash?to_s?to_int?to_str 还是 is_a? 都需要看一遍。
总结:F1其实是最好的教程了。
作者: 白魔导师宝儿    时间: 2013-11-13 19:38
铃仙·优昙华院·因幡 发表于 2013-11-12 18:30
窗口类的话, 是

self.contents.draw_text(x, y, width, height, data_skills[技能ID].mp_cost.to_s) ...

谢了,已经实现效果
作者: 怪蜀黍    时间: 2013-11-13 19:51
myownroc 发表于 2013-11-12 19:47
数字要转为字符才可以
$data_skill.mp_cost要写成$data_skill.mp_cost.to_s
其余依此类推

我记得XP的draw_text是必须要to_s,而VX的是可以不用的,VX会智能判定它是不是string。
作者: 铃仙·优昙华院·因幡    时间: 2013-11-13 20:47
myownroc 发表于 2013-11-12 19:47
数字要转为字符才可以
$data_skill.mp_cost要写成$data_skill.mp_cost.to_s
其余依此类推

不要欺负我好久没玩 VX 了 = =

draw_text(rect, str[, align])
在位图区域 (x, y, width, height) 或矩形 rect (Rect 矩形类)中描绘字符串 str 。

若 str 不是字符串对象,则会在执行之前,先调用 to_s 方法转换成字符串。(RGSS2)





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