设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3151|回复: 2
打印 上一主题 下一主题

[原创发布] 【ISA】敌人Hp显示 - Monster Hp Display

[复制链接]

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

跳转到指定楼层
1
发表于 2011-2-25 21:22:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 忧雪の伤 于 2011-2-27 11:30 编辑
  1. #==============================================================================
  2. # ■ 【ISA】敌人Hp显示 - Monster Hp Display
  3. #------------------------------------------------------------------------------
  4. # - 2011.2.25
  5. #   初始化 忧雪の伤
  6. # - 2011.2.26
  7. #   更新 忧雪の伤
  8. #______________________________________________________________________________
  9. #
  10. # 追加敌人总体Hp的显示。
  11. #
  12. #==============================================================================
  13. #==============================================================================
  14. # ★ 设定部分 ★
  15. #==============================================================================
  16. module ISA
  17.   # 功能开关
  18.   MHD = true
  19.   # 文字显示
  20.   MHD_FONT = true
  21.   # 文字名称
  22.   MHD_FONT_NAME = ["Arial"]
  23.   # 文字大小
  24.   MHD_FONT_SIZE = 15
  25.   # 文字颜色
  26.   MHD_FONT_COLOR = Color.new(255, 255, 255)
  27.   # 文字粗体
  28.   MHD_FONT_BOLD = true
  29.   # 文字斜体
  30.   MHD_FONT_ITALIC = false
  31.   # 文字描边功能(BFS自动识别,不存在的场合返回无)
  32.   MHD_FONT_BFS = true
  33.   # 文字分割符
  34.   MHD_FONT_BL = " / "
  35.   # 文字X坐标修正
  36.   MHD_FONT_X_PLUS = 5
  37.   # 模糊功能(模糊算法不存在的场合引发错误)
  38.   MHD_BLUR = false
  39.   # 血条颜色
  40.   MHD_COLOR = Color.new(225, 0, 0)
  41.   # 背景颜色
  42.   MHD_BACK_COLOR = Color.new(0, 0, 0)
  43.   # 血条长度
  44.   MHD_LONG = 120
  45.   # 血条高度
  46.   MHD_HEIGHT = 10
  47.   # X坐标修正
  48.   MHD_X_PLUS = 10
  49.   # Y坐标修正
  50.   MHD_Y_PLUS = 50
  51.   # 透明度设定
  52.   MHD_OPACITY = 200
  53.   # 窗口透明度设定
  54.   MHD_WINDOW_OPACITY = 0
  55. end

  56. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  57. # 注册【ISA】
  58. $ISA = {} if $ISA == nil
  59. $ISA["MHD"] = true

  60. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  61. #==============================================================================
  62. # ★ 开关判定 ★
  63. #==============================================================================

  64. if ISA::MHD == true then

  65. #==============================================================================
  66. # ■ ISA_Window_Enemy_Hp
  67. #------------------------------------------------------------------------------
  68. #  显示战斗画面敌人总体Hp的窗口。
  69. #==============================================================================
  70. class ISA_Window_Enemy_Hp < Window_Base
  71.   #--------------------------------------------------------------------------
  72.   # ● 初始化对像
  73.   #--------------------------------------------------------------------------
  74.   def initialize
  75.     super(0, 0, 640, 480)
  76.     # 创建描绘区域
  77.     self.contents = Bitmap.new(640 - 32, 480 - 32)
  78.     # 读取透明度
  79.     self.opacity = ISA::MHD_WINDOW_OPACITY
  80.     # 坐标修正
  81.     self.x += ISA::MHD_X_PLUS
  82.     self.y += ISA::MHD_Y_PLUS
  83.     refresh
  84.   end
  85.   #--------------------------------------------------------------------------
  86.   # ● 刷新
  87.   #--------------------------------------------------------------------------
  88.   def refresh
  89.     self.contents.clear
  90.     self.contents_opacity = ISA::MHD_OPACITY
  91.     # 背景部分
  92.     b = Rect.new(5, 10, ISA::MHD_LONG + 2, ISA::MHD_HEIGHT + 2)
  93.     self.contents.fill_rect(b, ISA::MHD_BACK_COLOR)
  94.     # 内容部分
  95.     h = Rect.new(6, 11, ISA::MHD_LONG * $ISA_enemy_hp / $ISA_enemy_maxhp, 10)
  96.     self.contents.fill_rect(h, ISA::MHD_COLOR)
  97.     # 模糊调用
  98.     self.contents.blur(1, b) if ISA::MHD_BLUR
  99.     # 文字部分
  100.     self.contents.font.color = ISA::MHD_FONT_COLOR
  101.     self.contents.font.name = ISA::MHD_FONT_NAME
  102.     self.contents.font.size = ISA::MHD_FONT_SIZE
  103.     self.contents.font.bold = ISA::MHD_FONT_BOLD
  104.     self.contents.font.italic = ISA::MHD_FONT_ITALIC
  105.     case ISA::MHD_FONT_BFS and ISA::BFS
  106.     when true
  107.       self.contents.BFS_draw_text(6 + ISA::MHD_FONT_X_PLUS, 0, 110, 32, $ISA_enemy_hp.to_s + ISA::MHD_FONT_BL + $ISA_enemy_maxhp.to_s, 1) if ISA::MHD_FONT
  108.     when false
  109.       self.contents.draw_text(6 + ISA::MHD_FONT_X_PLUS, 0, 110, 32, $ISA_enemy_hp.to_s + ISA::MHD_FONT_BL + $ISA_enemy_maxhp.to_s, 1) if ISA::MHD_FONT
  110.     end
  111.   end
  112. end

  113. #==============================================================================
  114. # ■ Scene_Battle
  115. #------------------------------------------------------------------------------
  116. #  处理战斗画面的类。
  117. #==============================================================================
  118. class Scene_Battle
  119.   #--------------------------------------------------------------------------
  120.   # ● 主处理
  121.   #--------------------------------------------------------------------------
  122.   alias old_main_second main
  123.   def main
  124.     # 声明别名
  125.     # 准备队伍
  126.     @troop_id = $game_temp.battle_troop_id
  127.     $game_troop.setup(@troop_id)
  128.     # 初始化
  129.     $ISA_enemy_maxhp = 0
  130.     $ISA_enemy_hp = 0
  131.     # 读取信息
  132.     for a in 0...$game_troop.enemies.size
  133.       @enemy = $game_troop.enemies[a]
  134.       $ISA_enemy_maxhp += @enemy.maxhp
  135.       $ISA_enemy_hp += @enemy.hp
  136.     end
  137.     # 生成窗口
  138.     @ISA_Enemy_Hp_window = ISA_Window_Enemy_Hp.new
  139.     @ISA_Enemy_Hp_window.z -= 101
  140.     # => p @ISA_Enemy_Hp_window.z
  141.     # 调用其他
  142.     old_main_second
  143.     # 释放窗口
  144.     @ISA_Enemy_Hp_window.dispose
  145.   end
  146.   #--------------------------------------------------------------------------
  147.   # ● 刷新画面 (主回合步骤 6 : 刷新)
  148.   #--------------------------------------------------------------------------
  149.   alias old_update_phase4_step6_second update_phase4_step6
  150.   def update_phase4_step6
  151.     # 声明别名
  152.     # 初始化
  153.     $ISA_enemy_maxhp = 0
  154.     $ISA_enemy_hp = 0
  155.     # 读取信息
  156.     for a in 0...$game_troop.enemies.size
  157.       @enemy = $game_troop.enemies[a]
  158.       $ISA_enemy_maxhp += @enemy.maxhp
  159.       $ISA_enemy_hp += @enemy.hp
  160.     end
  161.     # 刷新
  162.     @ISA_Enemy_Hp_window.refresh
  163.     # 调用其他
  164.     old_update_phase4_step6_second
  165.   end
  166. end

  167. end
复制代码


截图:

Lv1.梦旅人

梦石
0
星屑
50
在线时间
86 小时
注册时间
2010-9-22
帖子
118
2
发表于 2011-2-26 12:45:09 | 只看该作者
如果放在敌人下方会不会好一点……
建议而已

点评

设定部分那里有坐标修正。  发表于 2011-2-26 13:48
坐标修正……你可以任意修改。  发表于 2011-2-26 13:47
无论过了多久还是菜鸟一枚……
对脚本无爱 只对事件比较感兴趣并研究中……【还是菜鸟入门的那种……】
若有冒犯大人们 请轻PIA QAQ
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1185
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

3
发表于 2011-2-26 12:52:19 | 只看该作者
if ISA::MHD == true then

这是什么情况?也就是启动游戏后没有这个功能就永远别想用了?

点评

默认不带游戏内开关功能的…… 那个……DK大人自己想加游戏内开关的话很容易的嘛  发表于 2011-2-26 13:48

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-25 06:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表