Project1

标题: 怎么才能在显示剩余战斗力的脚本上把血条改成自己的图片 [打印本页]

作者: 1192939463    时间: 2014-7-26 16:28
标题: 怎么才能在显示剩余战斗力的脚本上把血条改成自己的图片
RUBY 代码复制
  1. #==============================================================================
  2. # Zenith RGSS4 エネミー残勢力表示  ver1.00
  3. #   by 水夜
  4. #  [url]http://zenith.ifdef.jp/[/url]
  5. #------------------------------------------------------------------------------
  6. # 显示敌方剩余战斗力
  7. #==============================================================================
  8. #==============================================================================
  9. # □ 常数设置
  10. #==============================================================================
  11. module ZENITH4
  12.   # エネミー残勢力の表示?非表示を切り替えるスイッチのID(スイッチON時に非表示)
  13.   E_SWITCH = 1
  14.   # 残勢力ゲージの長さ
  15.   EG_WIDTH = 160
  16.   # 残勢力ゲージの色
  17.   EG_COLOR = Color.new(255, 0, 0, 255)
  18.   # 表示する文字列
  19.   EW_NAME = "敌方剩余战斗力"
  20.   # 表示する文字列の色
  21.   EW_COLOR = Color.new(255, 255, 255, 255)
  22. end
  23. #==============================================================================
  24. # ■ Window_BattleStatus
  25. #==============================================================================
  26. class Window_BattleStatus < Window_Base
  27.   #--------------------------------------------------------------------------
  28.   # ● オブジェクト初期化
  29.   #--------------------------------------------------------------------------
  30.   alias zenith4_initialize initialize
  31.   def initialize
  32.     # エネミー勢力スプライト作成
  33.     @enemy_force = Sprite.new
  34.     @enemy_force.bitmap = Bitmap.new(8 + ZENITH4::EG_WIDTH, 34)
  35.     @enemy_force.x = 640 - (12 + ZENITH4::EG_WIDTH)
  36.     @enemy_force.y = 62
  37.     @enemy_force.z = 50
  38.     # 呼び戻す
  39.     zenith4_initialize
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 解放
  43.   #--------------------------------------------------------------------------
  44.   alias zenith4_dispose dispose
  45.   def dispose
  46.     # エネミー勢力スプライト解放
  47.     @enemy_force.bitmap.dispose
  48.     @enemy_force.dispose
  49.     # 呼び戻す
  50.     zenith4_dispose
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● リフレッシュ
  54.   #--------------------------------------------------------------------------
  55.   alias zenith4_refresh refresh
  56.   def refresh
  57.     # 呼び戻す
  58.     zenith4_refresh
  59.     if $game_switches[ZENITH4::E_SWITCH] == false  
  60.       @enemy_force.visible = true
  61.       @enemy_force.bitmap.clear
  62.       x = 4
  63.       y = 4
  64.       width = ZENITH4::EG_WIDTH
  65.       # 文字列を描画
  66.       @enemy_force.bitmap.font.size = 18
  67.       @enemy_force.bitmap.font.color = Color.new(0, 0, 0, 255)
  68.       @enemy_force.bitmap.draw_text(x+1, y+1, width, 22, ZENITH4::EW_NAME)
  69.       @enemy_force.bitmap.draw_text(x-1, y-1, width, 22, ZENITH4::EW_NAME)
  70.       @enemy_force.bitmap.draw_text(x+1, y-1, width, 22, ZENITH4::EW_NAME)
  71.       @enemy_force.bitmap.draw_text(x-1, y+1, width, 22, ZENITH4::EW_NAME)
  72.       @enemy_force.bitmap.font.color = ZENITH4::EW_COLOR
  73.       @enemy_force.bitmap.draw_text(x, y, width, 22, ZENITH4::EW_NAME)
  74.       # エネミー勢力を描画
  75.       @item_max = $game_troop.enemies.size
  76.       enemy_mh = 0
  77.       enemy_h = 0
  78.       for i in 0...@item_max
  79.         enemy = $game_troop.enemies[i]
  80.         enemy_mh += enemy.maxhp
  81.         enemy_h += enemy.hp
  82.       end
  83.       @enemy_force.bitmap.fill_rect(x-1, y+24, width+2,5, Color.new(0, 0, 0, 150))
  84.       w = width * enemy_h / enemy_mh
  85.       @enemy_force.bitmap.fill_rect(x+width-w, y+25, w,3, ZENITH4::EG_COLOR)
  86.     else
  87.       @enemy_force.visible = false
  88.     end
  89.   end
  90. end



在哪里修改些什么东西呢。。对脚本不太懂。
作者: 白鬼    时间: 2014-7-26 17:54
不太懂就不要改这么高深的
其实也不能说高深
人家原来是用的自定义的 draw 语法,而非图片
你要硬改成图片,相当于重写一个脚本了
17行开始
  EG_COLOR = Color.new(255, 0, 0, 255)   # 表示する文字列
   EW_NAME = "敌方剩余战斗力"   # 表示する文字列の色
   EW_COLOR = Color.new(255, 255, 255, 255)
看到这里了吗?那个 (255,0,0,255)
就是控制颜色的调色板
具体颜色,你可以在数据库 动画设置 中,进行画面闪烁调试,然后看看每一个调到多少的颜色比较喜欢
如果我没有记错
第一个数字代表 红 度 ,数越大越红
第二个数字代表 黄 度 ,同上
第三个数字代表 蓝 度 ,同上
第四个数字代表 暗 度 ,数越大越黑,而且会覆盖上面的颜色
你可以调整一下试试效果。
作者: 1192939463    时间: 2014-7-26 18:30
白鬼 发表于 2014-7-26 17:54
不太懂就不要改这么高深的
其实也不能说高深
人家原来是用的自定义的 draw 语法,而非图片

嗯,谢谢。




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