Project1

标题: 定义的战斗力能在事件里用血条表现吗 [打印本页]

作者: 金芒芒    时间: 2023-8-26 08:28
标题: 定义的战斗力能在事件里用血条表现吗
本帖最后由 金芒芒 于 2023-8-26 09:10 编辑

RUBY 代码复制
  1. class Game_Army_Slg
  2.  
  3. def get_battle_effective#定义获得实际战斗力
  4.     sum = 0#数字=0
  5.     @member.each do|group|#@每个do|组的成员|
  6.       next if group.get_all_dead#如果下一个组。全部阵亡
  7.       num = group.calculate_effective#数字=组。计算有效
  8.       sum+= num #总和+=数字
  9.  
  10.     end  
  11.     return sum.round*10
  12.   end



RUBY 代码复制
  1. class Window_Pre_Battle_View < Window_Base
  2.     @attacker = attacker
  3.     @defender = defender
  4.     text = @attacker.get_battle_effective.to_s
  5.     self.contents.draw_text(10, 335, self.width, 12, "战斗力: "+text, 0)
  6.     text = @defender.get_battle_effective.to_s
  7.     self.contents.draw_text(330, 335, self.width, 12, "战斗力: "+text, 0)


RUBY 代码复制
  1. class Scene_Map
  2.    #攻击者=$场景。军队[攻击者]克隆
  3.     attacker = $scene.armies[attacker].clone
  4.     #防御者=$场景。军队[防御者]克隆
  5.     defender = $scene.armies[defender].clone
  6. @window_pre_battle_view = Window_Pre_Battle_View.new(attacker,defender)

  

总战力.png (671.59 KB, 下载次数: 21)

总战力.png

作者: 金芒芒    时间: 2023-8-26 10:45
本帖最后由 金芒芒 于 2023-8-26 13:50 编辑

不知道错哪里了


  1. module ZENITH4

  2.   #能源残余势力的表示?切换隐藏的开关的ID(开关接通时隐藏)
  3.   A_SWITCH = 5
  4.   #剩余战斗力规的长度
  5.   A_WIDTH = 260  #AG_宽度 = 260
  6.   #残余力量规的颜色
  7.   AG_COLOR = Color.new(255, 0, 0, 255)
  8.   #要显示的字符串
  9.   AW_NAME = "攻击者剩余战斗力"
  10.   #要显示的字符串颜色
  11.   AW_COLOR = Color.new(255, 255, 255, 255)
  12. end
复制代码

事件脚本该这么写
RUBY 代码复制
  1. @attacker_force = $scene.armies
  2. [attacker].clone
  3. (@attacker.get_battle_effective.to_s)
  4. @attacker_force.bitmap = Bitmap.new(8 +
  5. ZENITH4::AG_WIDTH, 34)
  6. @attacker_force.x = 200 - (12 +
  7. ZENITH4::AG_WIDTH) #200X坐标
  8. @attacker_force.y = 62
  9. @attacker_force.z = 50


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.   #能源残余势力的表示?切换隐藏的开关的ID(开关接通时隐藏)
  14.   E_SWITCH = 1
  15.   # 残勢力ゲージの長さ#残余力量规的长度
  16.   EG_WIDTH = 160  #EG_宽度 = 160
  17.   # 残勢力ゲージの色#残余力量规的颜色
  18.   EG_COLOR = Color.new(255, 0, 0, 255)
  19.   # 表示する文字列#要显示的字符串
  20.   EW_NAME = "敌方剩余战斗力"
  21.   # 表示する文字列の色#要显示的字符串颜色
  22.   EW_COLOR = Color.new(255, 255, 255, 255)
  23. end
  24. #==============================================================================
  25. # ■ Window_BattleStatus
  26. #==============================================================================
  27. class Window_BattleStatus < Window_Base
  28.   #--------------------------------------------------------------------------
  29.   # ● オブジェクト初期化
  30.   #--------------------------------------------------------------------------
  31.   alias zenith4_initialize initialize
  32.   def initialize
  33.     # エネミー勢力スプライト作成
  34.     @enemy_force = Sprite.new
  35.     @enemy_force.bitmap = Bitmap.new(8 + ZENITH4::EG_WIDTH, 34)
  36.     @enemy_force.x = 200 - (12 + ZENITH4::EG_WIDTH) #200X坐标
  37.     @enemy_force.y = 62
  38.     @enemy_force.z = 50
  39.     # 呼び戻す
  40.     zenith4_initialize
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 解放
  44.   #--------------------------------------------------------------------------
  45.   alias zenith4_dispose dispose
  46.   def dispose
  47.     # エネミー勢力スプライト解放
  48.     @enemy_force.bitmap.dispose
  49.     @enemy_force.dispose
  50.     # 呼び戻す
  51.     zenith4_dispose
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● リフレッシュ
  55.   #--------------------------------------------------------------------------
  56.   alias zenith4_refresh refresh
  57.   def refresh
  58.     # 呼び戻す
  59.     zenith4_refresh
  60.     if $game_switches[ZENITH4::E_SWITCH] == false  
  61.       @enemy_force.visible = true
  62.       @enemy_force.bitmap.clear
  63.       x = 4
  64.       y = 4
  65.       width = ZENITH4::EG_WIDTH
  66.       # 文字列を描画
  67.       @enemy_force.bitmap.font.size = 18
  68.       @enemy_force.bitmap.font.color = Color.new(0, 0, 0, 255)
  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.draw_text(x-1, y+1, width, 22, ZENITH4::EW_NAME)
  73.       @enemy_force.bitmap.font.color = ZENITH4::EW_COLOR
  74.       @enemy_force.bitmap.draw_text(x, y, width, 22, ZENITH4::EW_NAME)
  75.       # エネミー勢力を描画
  76.       @item_max = $game_troop.enemies.size
  77.       enemy_mh = 0
  78.       enemy_h = 0
  79.       for i in 0...@item_max
  80.         enemy = $game_troop.enemies[i]
  81.         enemy_mh += enemy.maxhp
  82.         enemy_h += enemy.hp
  83.       end
  84.       @enemy_force.bitmap.fill_rect(x-1, y+24, width+2,5, Color.new(0, 0, 0, 150))
  85.       w = width * enemy_h / enemy_mh
  86.       @enemy_force.bitmap.fill_rect(x+width-w, y+25, w,3, ZENITH4::EG_COLOR)
  87.     else                             #右开减x-width+w
  88.       @enemy_force.visible = false
  89.     end
  90.   end
  91. end


剩下的血=$game_actors[1].hp
所有的血=$game_actors[1].maxhp
if $l_old_hp != 剩下的血 or ($l_old_hp1 !=
所有的血)
$l_old_hp = 剩下的血
$l_old_hp1 = 所有的血
放大率=剩下的血*100/所有的血
x坐标=41
y坐标=421
$game_screen.pictures[3].show("hp.png",
0,x坐标,y坐标,放大率,100,150,0)
end

战斗力.png (31.23 KB, 下载次数: 26)

战斗力.png





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