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

Project1

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

[已经过期] 不用约束.怎么做战斗伤害显示??

[复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
73 小时
注册时间
2010-10-4
帖子
144
跳转到指定楼层
1
发表于 2010-11-29 16:34:17 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

战国美少年森兰丸

梦石
0
星屑
204
在线时间
852 小时
注册时间
2008-7-20
帖子
3705
3
发表于 2010-12-4 12:38:06 | 只看该作者
请善用搜索功能
  1. #==============================================================================
  2. # <<\/>> Vixotic_Damage_Pop up
  3. #------------------------------------------------------------------------------
  4. # Version 1.1
  5. # by Vixotic [[email protected]]
  6. # Exclusive Script for http://rpgmakervx.net/
  7. #
  8. # Place this script above Main
  9. #==============================================================================
  10. module VIX
  11. #--------------------------
  12. # Damage Text Position
  13. #------------------------
  14. Damage_X_Plus = 0
  15. # Move Damage Position in vertical direction ((-)up <= 0 => down(+))
  16. Damage_Y_Plus = -20
  17. # Move Damage Position in horizontal direction ((-)left <= 0 => right(+))
  18. #--------------------------
  19. # Damage Text Font/Size
  20. #------------------------
  21. Damage_Text_Font = "Arial Black"
  22. Damage_Text_Size = 32
  23. end
  24. class Sprite_Base < Sprite
  25. alias vix_sprbase_ini initialize
  26. alias vix_sprbase_upd update
  27. def initialize(viewport = nil)
  28. vix_sprbase_ini(viewport)
  29. @_damage_duration = 0
  30. end
  31. def update
  32. vix_sprbase_upd
  33. if @_damage_duration > 0
  34. @_damage_duration -= 1
  35. case @_damage_duration
  36. when 38..39
  37. @_damage_sprite.y -= 4
  38. when 36..37
  39. @_damage_sprite.y -= 2
  40. when 34..35
  41. @_damage_sprite.y += 2
  42. when 28..33
  43. @_damage_sprite.y += 4
  44. end
  45. @_damage_sprite.opacity = 256 - (12 - @_damage_duration) * 32
  46. if @_damage_duration == 0
  47. dispose_damage
  48. end
  49. end
  50. end

  51. def damage(value)
  52. dispose_damage
  53. if value.is_a?(Numeric)
  54. damage_string = value.abs.to_s
  55. else
  56. damage_string = value.to_s
  57. end
  58. bitmap = Bitmap.new(160, 48)
  59. bitmap.font.name = VIX::Damage_Text_Font
  60. bitmap.font.size = VIX::Damage_Text_Size
  61. bitmap.font.color.set(0, 0, 0)
  62. bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
  63. bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
  64. bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
  65. bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
  66. if value.is_a?(Numeric) and value < 0
  67. bitmap.font.color.set(176, 255, 144)
  68. else
  69. bitmap.font.color.set(255, 255, 255)
  70. end
  71. bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
  72. @_damage_sprite = ::Sprite.new(self.viewport)
  73. @_damage_sprite.bitmap = bitmap
  74. @_damage_sprite.ox = 80
  75. @_damage_sprite.oy = 20
  76. @_damage_sprite.x = self.x + VIX::Damage_X_Plus
  77. @_damage_sprite.y = (self.y - self.oy / 2) + VIX::Damage_Y_Plus
  78. @_damage_sprite.z = 3000
  79. @_damage_duration = 40
  80. end
  81. def dispose_damage
  82. if @_damage_sprite != nil
  83. @_damage_sprite.bitmap.dispose
  84. @_damage_sprite.dispose
  85. @_damage_sprite = nil
  86. @_damage_duration = 0
  87. end
  88. end
  89. end
  90. class Game_Battler
  91. attr_accessor :damage
  92. alias vix_gamebat_clr clear_sprite_effects
  93. def clear_sprite_effects
  94. @damage = 0
  95. vix_gamebat_clr
  96. end
  97. end
  98. class Sprite_Battler < Sprite_Base
  99. DAMAGE = 7
  100. alias vix_sprbat_set setup_new_effect
  101. def setup_new_effect
  102. vix_sprbat_set
  103. if @battler.damage != 0
  104. damage(@battler.damage)
  105. @effect_type = DAMAGE
  106. @battler.damage = 0
  107. end
  108. end
  109. end
  110. class Scene_Battle < Scene_Base
  111. def display_action_effects(target, obj = nil)
  112. unless target.skipped
  113. line_number = @message_window.line_number
  114. wait(5)
  115. target.damage = target.hp_damage if target.is_a?(Game_Enemy)
  116. display_critical(target, obj)
  117. display_damage(target, obj)
  118. display_state_changes(target, obj)
  119. if line_number == @message_window.line_number
  120. display_failure(target, obj) unless target.states_active?
  121. end
  122. if line_number != @message_window.line_number
  123. wait(30)
  124. end
  125. @message_window.back_to(line_number)
  126. end
  127. end
  128. end
复制代码

点评

谢谢了  发表于 2010-12-5 10:35
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1342
在线时间
675 小时
注册时间
2009-11-11
帖子
2790
2
发表于 2010-11-29 18:38:23 | 只看该作者
1Vip....可以试试

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 18:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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