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

Project1

 找回密码
 注册会员
搜索
楼主: swhswh
打印 上一主题 下一主题

[已经解决] 显示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
星屑
50
在线时间
248 小时
注册时间
2010-8-24
帖子
358
2
 楼主| 发表于 2010-9-2 08:23:53 | 显示全部楼层
简单说,就是我想让补魔法时也能显示回复量,而且是蓝色的,同时也可以显示生命回复量……
努力学习做音乐,不断进步中~争取将来能做出来出色的游戏配乐!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
248 小时
注册时间
2010-8-24
帖子
358
6
 楼主| 发表于 2010-9-5 17:55:23 | 显示全部楼层
楼上给的真是好东西!谢过!
努力学习做音乐,不断进步中~争取将来能做出来出色的游戏配乐!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-1 07:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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