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

Project1

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

[已经解决] 显示SP伤害

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
248 小时
注册时间
2010-8-24
帖子
358
跳转到指定楼层
1
发表于 2010-9-1 19:02:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 swhswh 于 2010-9-1 19:04 编辑

       有一个整合SP伤害的伤害值美化脚本,pictures里面有damage和damage-sp,但是实际用起来,只有HP的回复显示。
        我没见过有RM游戏能有HP/SP双重显示!
        比如,吃一种药,效果是HP、SP均恢复9999,希望战斗中(尤其是地图上显示伤害)能够冒出来两个数字9999是补血,9999是补魔法值。
        请问能实现这种效果吗?

点评

请在得到答案后在认可帖认可[url]http://bbs.66rpg.com/thread-155199-1-1.html[/url]  发表于 2010-9-15 03:47

Lv1.梦旅人

梦石
0
星屑
60
在线时间
39 小时
注册时间
2008-9-25
帖子
294
2
发表于 2010-9-1 22:17:24 | 只看该作者
不明白尤其是地图上???
RTAB可以做到
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
248 小时
注册时间
2010-8-24
帖子
358
3
 楼主| 发表于 2010-9-2 08:23:53 | 只看该作者
简单说,就是我想让补魔法时也能显示回复量,而且是蓝色的,同时也可以显示生命回复量……
努力学习做音乐,不断进步中~争取将来能做出来出色的游戏配乐!
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42344
在线时间
7599 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

4
发表于 2010-9-2 11:45:55 | 只看该作者
回复 swhswh 的帖子

Sprite_Battler里自行修改
    (可能还要修改别的地方才能算出SP减少量)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
248 小时
注册时间
2010-8-24
帖子
358
5
 楼主| 发表于 2010-9-2 13:00:45 | 只看该作者
本帖最后由 swhswh 于 2010-9-2 13:45 编辑

能不能给个具体解法……我觉得这个效果所有的RM游戏都不具备啊,难道没有人想实现吗?
显示SP回复量,貌似应该不难吧?



#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


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

# 脚本使用说明:

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

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

#   大小为180 x 96

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

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

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

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

# ============================================================================

module RPG

  class Sprite < ::Sprite
    #--------------------------------------------------------------------------
    # ● 伤害值描画
    #--------------------------------------------------------------------------
    def damage(value, critical, sp_damage = false)

     # 释放伤害
      dispose_damage
      # 如果伤害值是数值
      if value.is_a?(Numeric)
        # 绝对值转为字符串
        damage_string = value.abs.to_s
      else
        # 转为字符串
        damage_string = value.to_s
      end
      # 初始化位图
      bitmap = Bitmap.new(162, 64)
      bitmap.font.name = "Arial Black"
      bitmap.font.size = 32
      # 伤害值是数值的情况下
      if value.is_a?(Numeric)
        # 分割伤害值字符串
        damage_array = damage_string.scan(/./)
        damage_x = 81 - damage_string.size * 9
        # 伤害值为负的情况下
        if value < 0
          # 调用回复数字表
          rect_y = 32
        else
          # 调用伤害数字表
          rect_y = 0
        end
        # 循环伤害值字符串

       for char in damage_array
         number = char.to_i
          # 显示伤害数字
       if sp_damage
         bitmap.blt(damage_x, 32, RPG::Cache.picture("Damagesp"),
         Rect.new(number * 18, rect_y, 18, 32))
         damage_x += 18
      else
         bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),
         Rect.new(number * 18, rect_y, 18, 32))
         damage_x += 18
      end
end
      # 伤害值不是数值的情况
      else
        # 如果伤害值不是 Miss
        unless value == "Miss"
          # 系统默认描画字符串
          bitmap.font.color.set(0, 0, 0)
          bitmap.draw_text(-1, 27, 162, 36, damage_string, 1)
          bitmap.draw_text(+1, 27, 162, 36, damage_string, 1)
          bitmap.draw_text(-1, 29, 162, 36, damage_string, 1)
          bitmap.draw_text(+1, 29, 162, 36, damage_string, 1)
          bitmap.font.color.set(255, 255, 255)
          bitmap.draw_text(0, 28, 162, 36, damage_string, 1)
        # Miss 的情况下
        else
          # 显示未击中图画
          bitmap.blt(36, 28, RPG::Cache.picture("Damage"), Rect.new(90, 64, 90, 32))
        end
      end
      # 会心一击标志打开的情况
      if critical
        # 显示会心一击图画
        bitmap.blt(36, 0, RPG::Cache.picture("Damage"), Rect.new(0, 64, 90, 32))
      end
      # 伤害值定位
      @_damage_sprite = ::Sprite.new(self.viewport)
      @_damage_sprite.bitmap = bitmap
      @_damage_sprite.ox = 81
      @_damage_sprite.oy = 20
      @_damage_sprite.x = self.x
      @_damage_sprite.y = self.y - self.oy / 2
      @_damage_sprite.z = 3000
      @_damage_duration = 40
    end
  end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================



为什么回复SP根本不显示数值呢?
努力学习做音乐,不断进步中~争取将来能做出来出色的游戏配乐!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
493 小时
注册时间
2010-8-21
帖子
88
6
发表于 2010-9-2 13:29:22 | 只看该作者
本帖最后由 韩云溪 于 2010-9-2 13:41 编辑

在RPG::Sprite之中修改damage函数

module RPG
class ::Sprite < Sprite
def damage(value,critical)#改为def damage(hp_damage,sp_damage,critical)
#把damage函数中的bitmap扩大为(160*128)
#以下hp_damage部分和sp_damage部分仿照帮助文件中value部分的写法写
#把sp_damage的y坐标调整一下
#sp_damage的颜色 = Color.new(0,0,255,128)
end
end
end

然后将Game_Battler里新增一个变量,attr_accessor:sp_damage,
在initialize中添加“@sp_damage = 0” 这一句。
有需要的地方添加“self.sp_damage = 具体数字”这一句。

Sprite_Battler中将damage(value,critical)改为damage(hp_damage,sp_damage,critical)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
0 小时
注册时间
2010-9-1
帖子
4
7
发表于 2010-9-2 14:35:59 | 只看该作者
恩 不错 学习到一点
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
248 小时
注册时间
2010-8-24
帖子
358
8
 楼主| 发表于 2010-9-2 18:18:22 | 只看该作者
那个……“有需要的地方”,比如一个物品名叫“小魔法瓶”,战斗中我使用了它,sp回复量50,能不能自动显示啊?
努力学习做音乐,不断进步中~争取将来能做出来出色的游戏配乐!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
248 小时
注册时间
2010-8-24
帖子
358
9
 楼主| 发表于 2010-9-5 11:39:21 | 只看该作者
伤害值美化脚本不是号称整合了SP吗?怎么显示不了呢?
努力学习做音乐,不断进步中~争取将来能做出来出色的游戏配乐!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

宛若

梦石
0
星屑
1568
在线时间
526 小时
注册时间
2007-8-19
帖子
1493

极短24参与开拓者

10
发表于 2010-9-5 13:37:27 | 只看该作者
[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 06:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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