赞 | 0 |
VIP | 13 |
好人卡 | 29 |
积分 | 1 |
经验 | 6560 |
最后登录 | 2013-11-8 |
在线时间 | 112 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 112 小时
- 注册时间
- 2011-10-6
- 帖子
- 182
|
4楼
发表于 2012-4-19 06:35:03
手机端发表。
|
只看该作者
本帖最后由 吉井明久 于 2012-4-19 13:28 编辑
楼主君您说的是伤害数字的颜色(默认是白色)还是击中后闪烁的颜色(默认是红色)?
控制这些动画的代码位于 RPG::Sprite 这个内部模块中。代码可以从帮助文件或者 http://rpg.blue/manual/rpgxp/rgss/gc_rpg_sprite.html 获得。可以把这个代码调节到脚本编辑器 Main 前然后进行修改。- module RPG
- class Sprite < ::Sprite
- def damage(value, critical, color = nil)
- dispose_damage
- if value.is_a?(Numeric)
- damage_string = value.abs.to_s
- else
- damage_string = value.to_s
- end
- bitmap = Bitmap.new(160, 48)
- bitmap.font.name = "Arial Black"
- bitmap.font.size = 32
- bitmap.font.color.set(0, 0, 0)
- bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
- bitmap.draw_text( 1, 12-1, 160, 36, damage_string, 1)
- bitmap.draw_text(-1, 12 1, 160, 36, damage_string, 1)
- bitmap.draw_text( 1, 12 1, 160, 36, damage_string, 1)
- if color
- bitmap.font.color = color.clone
- elsif value.is_a?(Numeric) and value < 0
- bitmap.font.color.set(176, 255, 144)
- else
- bitmap.font.color.set(255, 255, 255)
- end
- bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
- if critical
- bitmap.font.size = 20
- bitmap.font.color.set(0, 0, 0)
- bitmap.draw_text(-1, -1, 160, 20, "CRITICAL", 1)
- bitmap.draw_text( 1, -1, 160, 20, "CRITICAL", 1)
- bitmap.draw_text(-1, 1, 160, 20, "CRITICAL", 1)
- bitmap.draw_text( 1, 1, 160, 20, "CRITICAL", 1)
- bitmap.font.color.set(255, 255, 255)
- bitmap.draw_text(0, 0, 160, 20, "CRITICAL", 1)
- end
- @_damage_sprite = ::Sprite.new(self.viewport)
- @_damage_sprite.bitmap = bitmap
- @_damage_sprite.ox = 80
- @_damage_sprite.oy = 20
- @_damage_sprite.x = self.x
- @_damage_sprite.y = self.y - self.oy / 2
- @_damage_sprite.z = 3000
- @_damage_duration = 40
- end
- end
- end
复制代码 首先加入这段脚本然后就支持改颜色了。但是修改颜色还需要修改别处的代码。
可以在 Sprite_Battler 里面找到这段- #傷害
- if @battler.damage_pop
- damage(@battler.damage,@battler.critical)
- @battler.damage=nil
- @battler.critical=false
- @battler.damage_pop=false
- end
复制代码 将其改成- #傷害
- if @battler.damage_pop
- damage(@battler.damage,@battler.critical, @battler.damage_color)
- @battler.damage=nil
- @battler.critical=false
- @battler.damage_color=nil
- @battler.damage_pop=false
- end
复制代码 接下去在 Game_Battler 里面
找到一堆 attr_accessor,在其下面加上- attr_accessor :damage_color
复制代码 在这里的 def initialize 里,加上现在接下来就需要修改伤害计算的部分了。这部分中午再说。现在我要出去。��������� |
|