Project1

标题: 彩虹神剑问题... [打印本页]

作者: CIS狂人    时间: 2008-4-19 04:55
标题: 彩虹神剑问题...
damage(@damage,@critical)
只显示总伤害.......HELP......(MS是最后一个问题了,希望解决掉)
应该怎么改才能显示分段伤害呢?
[LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: 9244579    时间: 2008-4-19 04:56
MS你重帖子了。{/dy}
作者: CIS狂人    时间: 2008-4-19 05:01
那个帖子到现在没有确实的解决办法..我们一直在理论..
作者: Iselia雪    时间: 2008-4-19 05:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: CIS狂人    时间: 2008-4-19 05:13
更诡异了?本人是半个菜鸟诶...实验结果很失败..没有显示更多MISS...
作者: CIS狂人    时间: 2008-4-19 05:16
这个样子
作者: CIS狂人    时间: 2008-4-19 05:17
好歹帮个忙嘛- -老大冰蓝不在.........
作者: Iselia雪    时间: 2008-4-19 06:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: 冰蓝的马甲    时间: 2008-4-19 06:04
谁说我不在的?彩虹神剑脚本没有从根本上更改弹出数字与动画的关系.
damage(value, critical)
使伤害的数字或“Miss”等字符串弹出在精灵前面。

value 指定为正值时为表示普通伤害的白色文字,而指定为负值时为表示回复的绿色文字。且负值时不会显示符号。value 为字符串时会照原样显示白色的文字。

critical 指定真的话,会在伤害字符串上追加小的“CRITICAL”的文字。

显示伤害的精灵 Z 座标是 3000。

............
作者: Iselia雪    时间: 2008-4-19 06:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: 冰蓝的马甲    时间: 2008-4-19 18:11
  1. def damage(value, critical)
  2.       dispose_damage
  3.       if value.is_a?(Numeric)
  4.         damage_string = value.abs.to_s
  5.       else
  6.         damage_string = value.to_s
  7.       end
  8.       bitmap = Bitmap.new(160, 48)
  9.       bitmap.font.name = "Arial Black"
  10.       bitmap.font.size = 32
  11.       bitmap.font.color.set(0, 0, 0)
  12.       bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
  13.       bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
  14.       bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
  15.       bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
  16.       if value.is_a?(Numeric) and value < 0
  17.         bitmap.font.color.set(176, 255, 144)
  18.       else
  19.         bitmap.font.color.set(255, 255, 255)
  20.       end
  21.       bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
  22.       if critical
  23.         bitmap.font.size = 20
  24.         bitmap.font.color.set(0, 0, 0)
  25.         bitmap.draw_text(-1, -1, 160, 20, "CRITICAL", 1)
  26.         bitmap.draw_text(+1, -1, 160, 20, "CRITICAL", 1)
  27.         bitmap.draw_text(-1, +1, 160, 20, "CRITICAL", 1)
  28.         bitmap.draw_text(+1, +1, 160, 20, "CRITICAL", 1)
  29.         bitmap.font.color.set(255, 255, 255)
  30.         bitmap.draw_text(0, 0, 160, 20, "CRITICAL", 1)
  31.       end
  32.       @_damage_sprite = ::Sprite.new(self.viewport)
  33.       @_damage_sprite.bitmap = bitmap
  34.       @_damage_sprite.ox = 80
  35.       @_damage_sprite.oy = 20
  36.       @_damage_sprite.x = self.x
  37.       @_damage_sprite.y = self.y - self.oy / 2
  38.       @_damage_sprite.z = 3000
  39.       @_damage_duration = 40
  40.     end
复制代码

对照一下吧
  1.     def damage(value, critical)
  2.       if value.is_a?(Numeric)
  3.         damage_string = value.abs.to_s
  4.       else
  5.         damage_string = value.to_s
  6.       end
  7.       bitmap = Bitmap.new(160, 48)
  8.       bitmap.font.name = "Arial Black"
  9.       bitmap.font.size = 32
  10.       bitmap.font.color.set(0, 0, 0)
  11.       bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
  12.       bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
  13.       bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
  14.       bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
  15.       #=======================================
  16.       # 修改:颜色
  17.       #=======================================
  18.       if value.is_a?(Numeric) and value < 0
  19.         bitmap.font.color.set(176, 255, 144)
  20.       else
  21.         bitmap.font.color.set(255, 55, 55)
  22.       end
  23.       bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
  24.       if critical
  25.         bitmap.font.size = 20
  26.         bitmap.font.color.set(0, 0, 0)
  27.         bitmap.draw_text(-1, -1, 160, 20, "CRITICAL", 1)
  28.         bitmap.draw_text(+1, -1, 160, 20, "CRITICAL", 1)
  29.         bitmap.draw_text(-1, +1, 160, 20, "CRITICAL", 1)
  30.         bitmap.draw_text(+1, +1, 160, 20, "CRITICAL", 1)
  31.         bitmap.font.color.set(255, 255, 255)
  32.         bitmap.draw_text(0, 0, 160, 20, "CRITICAL", 1)
  33.       end
  34.       @_damage_sprite = ::Sprite.new(self.viewport)
  35.       @_damage_sprite.bitmap = bitmap
  36.       @_damage_sprite.ox = 80
  37.       @_damage_sprite.oy = 20
  38.       @_damage_sprite.x = self.x
  39.       @_damage_sprite.y = self.y - self.oy / 2
  40.       @_damage_sprite.z = 3000
  41.       @_damage_duration = 40
  42.       #=======================================
  43.       # 修改:推入新的伤害
  44.       #=======================================
  45.       @_damage.push([@_damage_sprite,@_damage_duration-10,0, rand(30) - 15, rand(3)])
  46.     end
复制代码

作者: CIS狂人    时间: 2008-4-19 18:16
那么GAME_BATTLER在哪里呼出伤害的呢?
作者: CIS狂人    时间: 2008-4-19 18:20
找到问题所在了..
damage(@character.damage, @character.critical)

作者: CIS狂人    时间: 2008-4-19 19:12
DAMAGE过程只增加了@_damage.push([@_damage_sprite,@_damage_duration-10,0, rand(30) - 15, rand
作者: 冰蓝的马甲    时间: 2008-4-19 22:22
Iselia雪 同志:
非常感谢!
自从你批CIS狂人以后这小子非常有长进...现在这个脚本已经让他整的差不多了!就是只显示第一次伤害............




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