Project1

标题: 求ACE横版sideview的敌人血条脚本 [打印本页]

作者: 婉烟沉沫    时间: 2012-7-6 22:45
标题: 求ACE横版sideview的敌人血条脚本
同上- -sorry我真的真的找不到,找来找去都是默认战斗的。所以求亲们帮助了dsu_plus_rewardpost_czw
作者: hcm    时间: 2012-7-7 09:34
  1. #==============================================================================
  2. # 功能:战斗中显示敌人血和蓝于敌人脚下
  3. # 适用:RMVX Ace
  4. # 作者:殇殃 2012.3.10
  5. # 使用方法:复制整个脚本插入到Main之前
  6. # 注意:由于血条是显示在敌人脚下,所以敌群的位置不能太靠底部,不然会被挡住。
  7. # 可以自行更改坐标修改显示位置、血条的颜色等。
  8. #==============================================================================
  9. # ■ Window_Base
  10. #------------------------------------------------------------------------------
  11. #  游戏中全部窗口的超级类。
  12. #==============================================================================

  13. class Window_Base < Window
  14. #--------------------------------------------------------------------------
  15. # ● 描绘敌人HP
  16. #--------------------------------------------------------------------------
  17. def draw_enemy_hp(enemy, x, y, width = 80)
  18. draw_gauge(x, y, width, enemy.hp_rate, hp_gauge_color1, hp_gauge_color2)
  19. self.contents.font.color = system_color
  20. self.contents.draw_text(x, y, 30, line_height, Vocab::hp_a)
  21. self.contents.font.color = hp_color(enemy)
  22. self.contents.draw_text(x + width - 64, y, 64, line_height, enemy.hp, 2)
  23. #一个数字占16像素
  24. end
  25. #--------------------------------------------------------------------------
  26. # ● 绘制敌人MP
  27. #--------------------------------------------------------------------------
  28. def draw_enemy_mp(enemy, x, y, width = 80)
  29. draw_gauge(x, y, width, enemy.mp_rate, mp_gauge_color1, mp_gauge_color2)
  30. self.contents.font.color = system_color
  31. self.contents.draw_text(x, y, 30, line_height, Vocab::mp_a)
  32. self.contents.font.color = mp_color(enemy)
  33. self.contents.draw_text(x + width - 64, y, 64, line_height, enemy.mp, 2)
  34. end
  35. end
  36. #==============================================================================
  37. # ■ Sprite_Battler
  38. #------------------------------------------------------------------------------
  39. #  战斗显示用活动块。Game_Battler 类的实例监视、
  40. # 活动块的状态的监视、活动块状态自动变化。
  41. #==============================================================================

  42. class Sprite_Battler < Sprite_Base
  43. #--------------------------------------------------------------------------
  44. # ● 初始化对象
  45. # viewport : 视区
  46. # battler : 战斗者 (Game_Battler)
  47. #--------------------------------------------------------------------------
  48. def initialize(viewport, battler = nil)
  49. super(viewport)
  50. @battler = battler
  51. @battler_visible = false
  52. @effect_type = nil
  53. @effect_duration = 0
  54. if @battler.is_a?(Game_Enemy)
  55. width = 24 + 80 #边距12*2+血条的长度(在draw_enemy_hp中定义)
  56. height = 24 + 24*2 #边距12*2+line_height*2
  57. x = @battler.screen_x - width/2 #screen_x是怪物图片水平方向上的中点位置
  58. y = @battler.screen_y - 12 #边距12,显示HP/MP的窗口无边框
  59. @enemy_hpmp_window = Window_Base.new(x, y, width, height)
  60. @enemy_hpmp_window.opacity = 0
  61. @enemy_hpmp_window.contents = Bitmap.new(width - 24, height - 24)#位图比窗口小24像素取消边框
  62. @enemy_hpmp_window.draw_enemy_hp(@battler, 0, 0)
  63. @old_hp = -1
  64. @enemy_hpmp_window.draw_enemy_mp(@battler, 0, 24)
  65. @old_mp = -1
  66. end
  67. end
  68. #--------------------------------------------------------------------------
  69. # ● 释放
  70. #--------------------------------------------------------------------------
  71. def dispose
  72. if self.bitmap != nil
  73. self.bitmap.dispose
  74. @enemy_hpmp_window.dispose
  75. end
  76. super
  77. end
  78. #--------------------------------------------------------------------------
  79. # ● 更新画面
  80. #--------------------------------------------------------------------------
  81. def update
  82. super
  83. if @battler == nil
  84. self.bitmap = nil
  85. else
  86. @use_sprite = @battler.use_sprite?
  87. if @use_sprite
  88. update_bitmap
  89. update_origin
  90. update_position
  91. end
  92. setup_new_effect
  93. setup_new_animation
  94. update_effect
  95. if @enemy_hpmp_window != nil and (@old_hp != @battler.hp or @old_mp != @battler.mp)
  96. if @battler.hp == 0
  97. @enemy_hpmp_window.hide
  98. else
  99. @enemy_hpmp_window.contents.clear
  100. @enemy_hpmp_window.draw_enemy_hp(@battler, 0, 0)
  101. @old_hp = @battler.hp
  102. @enemy_hpmp_window.draw_enemy_mp(@battler, 0, 24)
  103. @old_mp = @battler.mp
  104. @enemy_hpmp_window.show #怪物死后再被复活
  105. end #if battler.hp == 0
  106. end
  107. end #if @battler == nil
  108. end

  109. end
复制代码
或者http://rpg.blue/forum.php?mod=at ... DQ2fDIzMTQyMQ%3D%3D
善用搜索啊。
作者: solier83    时间: 2012-7-14 17:11
hcm 发表于 2012-7-7 09:34
或者http://rpg.blue/forum.php?mod=attachment&aid=MTEwNDcxfDM2YTliMmIzfDEzNDE2MjQ3NTJ8MjM0ODQ2fD ...

又试了一下,下载的范例的那个可以用,是我没复制图片,但是血条被怪挡住了………………
作者: 紫菜豆腐煲    时间: 2012-7-16 14:03
范例的是不是攻击的时候才现血呢??
作者: chxush    时间: 2012-7-27 14:06
嗯 那个参数是优先级 写个1000就行了
作者: kimhaur    时间: 2012-8-2 15:26
solier83 发表于 2012-7-14 17:11
又试了一下,下载的范例的那个可以用,是我没复制图片,但是血条被怪挡住了……………… ...

大哥,请问一下要复制什么图片啊?有链吗?
因为我也是一样用sideview的,加了那个血条脚本后,打怪就没动静了……
还有你说改Z轴是什么意思?
作者: kimhaur    时间: 2012-8-8 10:08
kimhaur 发表于 2012-8-2 15:26
大哥,请问一下要复制什么图片啊?有链吗?
因为我也是一样用sideview的,加了那个血条脚本后,打怪就没 ...

Solier83,
不晓得为什么,我试了很多次都没有办法完成下载上面链接的范例游戏……
所以也找不到那个血条的图片……可以发发给我吗?
作者: 流浪杰哥    时间: 2012-12-18 22:06
这个跟我的横板脚本一起用会有冲突




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