Project1

标题: 怎样在播放攻击动画的同时显示伤害数值 [打印本页]

作者: 神族召唤师    时间: 2009-7-22 19:25
标题: 怎样在播放攻击动画的同时显示伤害数值
怎样在播放攻击动画的同时显示伤害数值
也就是说有打击感
就像 黑剑2 一样
作者: 恶の魔    时间: 2009-7-22 19:31
你是要做ARPG么?用脚本可以实现
作者: 神族召唤师    时间: 2009-7-22 19:36
不是ARPG  是RPG
就像 黑剑2 一样
作者: 恶の魔    时间: 2009-7-22 19:42
不是ARPG  是RPG
就像 黑剑2 一样
神族召唤师 发表于 2009-7-22 19:36

黑剑2么?我下来看看
作者: 神族召唤师    时间: 2009-7-22 19:48
黑剑2么?我下来看看
恶の魔 发表于 2009-7-22 19:42

大哥  就是你打敌人的同时让敌人显示伤害
你下载完都什么时候了
作者: 恶の魔    时间: 2009-7-22 19:51
大哥  就是你打敌人的同时让敌人显示伤害
你下载完都什么时候了
神族召唤师 发表于 2009-7-22 19:48

额..很大额...打敌人的同时显伤害的话..跟ARPG差不多...用脚本实现吧
作者: zhaofan357    时间: 2009-7-22 21:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: 396371307    时间: 2009-7-22 21:21
# 使用方法:
#
# ★、对角色显示伤害,如下3步:
#
# 1、设置伤害内容:$game_player.damage = 数值
#    注意:如果数值是负数,就变成补血的颜色了。
#
# 2、设置是否会心一击:$game_player.critical = true/f ...
zhaofan357 发表于 2009-7-22 21:12

LZ结贴吧...LS脚本不错    ←←说话的是脚本小白
作者: 恶の魔    时间: 2009-7-22 21:26
# 使用方法:
#
# ★、对角色显示伤害,如下3步:
#
# 1、设置伤害内容:$game_player.damage = 数值
#    注意:如果数值是负数,就变成补血的颜色了。
#
# 2、设置是否会心一击:$game_player.critical = true/f ...
zhaofan357 发表于 2009-7-22 21:12

不过你那伤害的字还要设置内容啊..不能自动判断吗?
作者: 神族召唤师    时间: 2009-7-23 02:11
我想大家理解错误了吧  
我要做的是RPG角色扮演类游戏
而不是ARPG横版过关游戏
所以那个脚本我用不了
作者: 恶の魔    时间: 2009-7-23 10:44
我想大家理解错误了吧  
我要做的是RPG角色扮演类游戏
而不是ARPG横版过关游戏
所以那个脚本我用不了
神族召唤师 发表于 2009-7-23 02:11

RPG一般没人弄那个脚本...等等看看有谁会编程的帮你下吧
作者: 苍岚    时间: 2009-7-24 00:08
  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
复制代码
前几天从站上翻到的脚本,测试有效,冲突未知,效果是攻击动画之后跳出伤害数字。。。
忘记是哪位提供的了,抱歉。。。

其实LZ提问前可以多尝试搜索,应该会有不少收获。。。
作者: zh99998    时间: 2009-7-30 14:15
彩虹神剑




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