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

Project1

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

关于伤害效果美化单方面的修改。

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
57 小时
注册时间
2007-9-4
帖子
72
跳转到指定楼层
1
发表于 2008-10-26 04:49:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这是伤害美化脚本及图片:

  1. module RPG

  2.   class Sprite < ::Sprite

  3.     #--------------------------------------------------------------------------

  4.     # ● 伤害值描画

  5.     #--------------------------------------------------------------------------

  6.     def damage(value, critical)

  7.       # 释放伤害

  8.       dispose_damage

  9.       # 如果伤害值是数值

  10.       if value.is_a?(Numeric)

  11.         # 绝对值转为字符串

  12.         damage_string = value.abs.to_s

  13.       else

  14.         # 转为字符串

  15.         damage_string = value.to_s

  16.       end

  17.       # 初始化位图

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

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

  20.       bitmap.font.size = 32

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

  22.       if value.is_a?(Numeric)

  23.         # 分割伤害值字符串

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

  25.         damage_x = 81 - damage_string.size * 9

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

  27.         if value < 0

  28.           # 调用回复数字表

  29.           rect_y = 32

  30.         else

  31.           # 调用伤害数字表

  32.           rect_y = 0

  33.         end

  34.         # 循环伤害值字符串

  35.         for char in damage_array

  36.           number = char.to_i

  37.           # 显示伤害数字

  38.           bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),

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

  40.           # 后移一位

  41.           damage_x += 18

  42.         end

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

  44.       else

  45.         # 如果伤害值不是 Miss

  46.         unless value == "Miss"

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

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

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

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

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

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

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

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

  55.         # Miss 的情况下

  56.         else

  57.           # 显示未击中图画

  58.           bitmap.blt(36, 28, RPG::Cache.picture("Damage"), Rect.new(90, 64, 90, 32))

  59.         end

  60.       end

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

  62.       if critical

  63.         # 显示会心一击图画

  64.         bitmap.blt(36, 0, RPG::Cache.picture("Damage"), Rect.new(0, 64, 90, 32))

  65.       end

  66.       # 伤害值定位

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

  68.       @_damage_sprite.bitmap = bitmap

  69.       @_damage_sprite.ox = 81

  70.       @_damage_sprite.oy = 20

  71.       @_damage_sprite.x = self.x

  72.       @_damage_sprite.y = self.y - self.oy / 2

  73.       @_damage_sprite.z = 3000

  74.       @_damage_duration = 40

  75.     end

  76.   end

  77. end
复制代码




当伤害是MISS的情况下,会显示上图MISS效果的图片,其他情况其他均
保持RGSS默认的数据。
伤害美化怎么只修改Miss部分的图片?

此贴于 2008-10-28 14:59:33 被版主darkten提醒,请楼主看到后对本贴做出回应。
版务信息:版主帮忙结贴~

Lv1.梦旅人

天壤

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-7-18
帖子
1435
2
发表于 2008-10-26 05:54:12 | 只看该作者
話說.....LZ不要用QQ空間來轉圖.....看不到的說~
时隔多年。我还是觉得66才是我的家。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

綾川司の姫様<

梦石
0
星屑
50
在线时间
796 小时
注册时间
2007-12-20
帖子
4520

贵宾第3届短篇游戏大赛R剧及RMTV组亚军

3
发表于 2008-10-27 10:35:38 | 只看该作者
是这个意思?只美化miss字串么?
if value == "Miss"
bitmap.blt(36, 28, RPG::Cache.picture("Damage"), Rect.new(90, 64, 90, 32))

生命即是责任。自己即是世界。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-6-9
帖子
220
4
发表于 2008-10-27 20:08:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
2 小时
注册时间
2008-7-9
帖子
121
5
发表于 2008-10-27 20:48:54 | 只看该作者
我不是美工,所以没调整什么,只是应要求。用以下脚本吧。
  1. module RPG
  2.   class Sprite < ::Sprite
  3.     def damage(value, critical)
  4.       dispose_damage
  5.       if value.is_a?(Numeric)
  6.         damage_string = value.abs.to_s
  7.       else
  8.         damage_string = value.to_s
  9.       end
  10.       bitmap = Bitmap.new(160, 48)
  11.       if damage_string != "Miss"
  12.         bitmap.font.name = "Arial Black"
  13.         bitmap.font.size = 32
  14.         bitmap.font.color.set(0, 0, 0)
  15.         bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
  16.         bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
  17.         bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
  18.         bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
  19.         if value.is_a?(Numeric) and value < 0
  20.           bitmap.font.color.set(176, 255, 144)
  21.         else
  22.           bitmap.font.color.set(255, 255, 255)
  23.         end
  24.         bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
  25.         if critical
  26.           bitmap.font.size = 20
  27.           bitmap.font.color.set(0, 0, 0)
  28.           bitmap.draw_text(-1, -1, 160, 20, "CRITICAL", 1)
  29.           bitmap.draw_text(+1, -1, 160, 20, "CRITICAL", 1)
  30.           bitmap.draw_text(-1, +1, 160, 20, "CRITICAL", 1)
  31.           bitmap.draw_text(+1, +1, 160, 20, "CRITICAL", 1)
  32.           bitmap.font.color.set(255, 255, 255)
  33.           bitmap.draw_text(0, 0, 160, 20, "CRITICAL", 1)
  34.         end
  35.       else
  36.         bitmap.blt(36, 28, RPG::Cache.picture("Damage"), Rect.new(90, 64, 90, 32))
  37.       end
  38.       @_damage_sprite = ::Sprite.new(self.viewport)
  39.       @_damage_sprite.bitmap = bitmap
  40.       @_damage_sprite.ox = 80
  41.       @_damage_sprite.oy = 20
  42.       @_damage_sprite.x = self.x
  43.       @_damage_sprite.y = self.y - self.oy / 2
  44.       @_damage_sprite.z = 3000
  45.       @_damage_duration = 40
  46.     end
  47.   end
  48. end
复制代码

系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
雨~ 纯净~又有点感伤……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 07:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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