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

Project1

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

[已经过期] 伤害值美化

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3611
在线时间
1891 小时
注册时间
2010-6-19
帖子
1211
跳转到指定楼层
1
发表于 2015-2-3 20:01:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
下面这个是伤害值显示的脚本,貌似显示的伤害数字是往下掉的,如何改成往上飘动呢。
  1.     #==============================================================================
  2.     # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3.     #==============================================================================

  4.     # ============================================================================
  5.     # 伤害效果美化 v1.0 by SailCat
  6.     # ============================================================================

  7.     # 脚本使用说明:

  8.     # 1.使用时需要将Damage.png复制到你的游戏的Graphics/Pictures目录下

  9.     # 2.Damage.png文件的格式:

  10.     #   大小为180 x 96

  11.     #   (0, 0) - (179, 31)为伤害值的数字表,其中每个数字宽18,高32

  12.     #   (0, 32) - (179, 63)为回复值(伤害负值)的数字表,其中每个数字宽18,高32

  13.     #   (0, 64) - (89, 95)为会心一击标记的图画,长宽为90 x 32

  14.     #   (90, 64) - (179, 95)为未命中标记的图画,长宽为90 x 32

  15.     # ============================================================================

  16.     module RPG

  17.       class Sprite < ::Sprite

  18.         #--------------------------------------------------------------------------

  19.         # ● 伤害值描画

  20.         #--------------------------------------------------------------------------

  21.         def damage(value, critical)

  22.           # 释放伤害

  23.           dispose_damage

  24.           # 如果伤害值是数值

  25.           if value.is_a?(Numeric)

  26.             # 绝对值转为字符串

  27.             damage_string = value.abs.to_s

  28.           else

  29.             # 转为字符串

  30.             damage_string = value.to_s

  31.           end

  32.           # 初始化位图

  33.           bitmap = Bitmap.new(162, 64)

  34.           bitmap.font.name = "Arial Black"

  35.           bitmap.font.size = 32

  36.           # 伤害值是数值的情况下

  37.           if value.is_a?(Numeric)

  38.             # 分割伤害值字符串

  39.             damage_array = damage_string.scan(/./)

  40.             damage_x = 81 - damage_string.size * 9

  41.             # 伤害值为负的情况下

  42.             if value < 0

  43.               # 调用回复数字表

  44.               rect_y = 32

  45.             else

  46.               # 调用伤害数字表

  47.               rect_y = 0

  48.             end

  49.             # 循环伤害值字符串

  50.             for char in damage_array

  51.               number = char.to_i

  52.               # 显示伤害数字

  53.               bitmap.blt(damage_x, 32, RPG::Cache.picture("/图片显示/人物头像/伤害显示/Damage"),

  54.                 Rect.new(number * 18, rect_y, 18, 32))

  55.               # 后移一位

  56.               damage_x += 18

  57.             end

  58.           # 伤害值不是数值的情况

  59.           else

  60.             # 如果伤害值不是 Miss

  61.             unless value == "Miss"

  62.               # 系统默认描画字符串

  63.               bitmap.font.color.set(0, 0, 0)

  64.               bitmap.draw_text(-1, 27, 162, 36, damage_string, 1)

  65.               bitmap.draw_text(+1, 27, 162, 36, damage_string, 1)

  66.               bitmap.draw_text(-1, 29, 162, 36, damage_string, 1)

  67.               bitmap.draw_text(+1, 29, 162, 36, damage_string, 1)

  68.               bitmap.font.color.set(255, 255, 255)

  69.               bitmap.draw_text(0, 28, 162, 36, damage_string, 1)

  70.             # Miss 的情况下

  71.             else

  72.               # 显示未击中图画

  73.               bitmap.blt(36, 28, RPG::Cache.picture("/图片显示/人物头像/伤害显示/Damage"), Rect.new(90, 64, 90, 32))

  74.             end

  75.           end

  76.           # 会心一击标志打开的情况

  77.           if critical

  78.             # 显示会心一击图画

  79.             bitmap.blt(36, 0, RPG::Cache.picture("/图片显示/人物头像/伤害显示/Damage"), Rect.new(0, 64, 90, 32))

  80.           end

  81.           # 伤害值定位

  82.           @_damage_sprite = ::Sprite.new(self.viewport)

  83.           @_damage_sprite.bitmap = bitmap

  84.           @_damage_sprite.ox = 81-419       #调坐标

  85.           @_damage_sprite.oy = 20

  86.           @_damage_sprite.x = self.x - 410

  87.           @_damage_sprite.y = self.y - self.oy / 2  - 20

  88.           @_damage_sprite.z = 3000

  89.           @_damage_duration = 40

  90.         end

  91.       end

  92.     end

  93.     #==============================================================================
  94.     # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  95.     #==============================================================================
复制代码

Lv5.捕梦者

梦石
0
星屑
33488
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

2
发表于 2015-2-3 20:16:11 | 只看该作者
这个要在 RPG::Sprite 的 update 里面改。

点评

知道了,谢啦  发表于 2015-2-3 21:00

评分

参与人数 1星屑 +200 收起 理由
hys111111 + 200 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 09:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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