| 赞 | 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 里,加上现在接下来就需要修改伤害计算的部分了。这部分中午再说。现在我要出去。��������� |   
 
 
 
 |