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

Project1

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

[已经解决] XP扣血数字不显示的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
123
在线时间
335 小时
注册时间
2010-9-23
帖子
97
跳转到指定楼层
1
发表于 2011-2-2 17:51:03 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 IamI 于 2011-2-2 18:32 编辑

我想问问,原本的XP的战斗画面上会显示扣血的数字吗?我这边不能显示,怎么办?谢谢

点评

标题修正。按日常惯例应扣50分……算了= =||  发表于 2011-2-2 18:33

Lv1.梦旅人

梦石
0
星屑
123
在线时间
335 小时
注册时间
2010-9-23
帖子
97
10
 楼主| 发表于 2011-2-3 17:31:51 | 只看该作者
回复 忧雪の伤 的帖子

感谢感谢,可以了。:)不过就是那个素材数字图片怎么用??


时空守恒于2011-2-3 18:11补充以下内容:
那个是你放上来的图片怎么下?


时空守恒于2011-2-3 18:29补充以下内容:
你放上来的图片怎么下载?


时空守恒于2011-2-3 19:13补充以下内容:
不行啊,不如你把图片弄成附件

点评

右键另存为可以!不然,你加我QQ324517851吧  发表于 2011-2-3 19:36
右键另存为……  发表于 2011-2-3 18:55
在Graphics下创建一个Damages文件夹,放进去就可以了  发表于 2011-2-3 17:59
回复 支持 反对

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
349
在线时间
1197 小时
注册时间
2010-12-18
帖子
3928

贵宾

9
发表于 2011-2-2 20:58:46 | 只看该作者
脚本
  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, sp_damage = false)

  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.        if sp_damage
  54.          bitmap.blt(damage_x, 32, Bitmap.new("Graphics/Damages/Damagesp"),
  55.          Rect.new(number * 18, rect_y, 18, 32))
  56.          damage_x += 18
  57.        else
  58.          bitmap.blt(damage_x, 32, Bitmap.new("Graphics/Damages/Damage"),
  59.          Rect.new(number * 18, rect_y, 18, 32))
  60.          damage_x += 18
  61.        end
  62.       end
  63.       # 伤害值不是数值的情况
  64.       else
  65.         # Miss 的情况下
  66.         if value == "Miss"
  67.           # 显示未击中图画
  68.           bitmap.blt(36, 28, Bitmap.new("Graphics/Damages/Damage"), Rect.new(90, 64, 90, 32))
  69.         end
  70.         # 免疫的情况下
  71.         if value == "Nothing"
  72.           # 显示未击中图画
  73.           bitmap.blt(36, 28, Bitmap.new("Graphics/Damages/Damage"), Rect.new(0, 96, 90, 32))
  74.         end
  75.         # 反射的情况下
  76.         if value == "Mirro return"
  77.           # 显示未击中图画
  78.           bitmap.blt(36, 28, Bitmap.new("Graphics/Damages/Damage"), Rect.new(90, 96, 90, 32))
  79.         end
  80.       end
  81.       # 会心一击标志打开的情况
  82.       if critical
  83.         # 显示会心一击图画
  84.         bitmap.blt(36, 0, Bitmap.new("Graphics/Damages/Damage"), Rect.new(0, 64, 90, 32))
  85.       end
  86.       # 伤害值定位
  87.       @_damage_sprite = ::Sprite.new(self.viewport)
  88.       @_damage_sprite.bitmap = bitmap
  89.       @_damage_sprite.ox = 81
  90.       @_damage_sprite.oy = 20
  91.       @_damage_sprite.x = self.x
  92.       @_damage_sprite.y = self.y - self.oy / 2
  93.       @_damage_sprite.z = 3000
  94.       @_damage_duration = 40
  95.     end
  96.   end
  97. end

  98. #==============================================================================
  99. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  100. #==============================================================================
复制代码
素材





补充
之所以发上来这个是想试试,到底是不是脚本问题……如果显示的了就不是脚本问题了

点评

这只是放出来测试的……  发表于 2011-2-3 17:59
字体有问题。。。(第一个图)  发表于 2011-2-3 17:44

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
123
在线时间
335 小时
注册时间
2010-9-23
帖子
97
8
 楼主| 发表于 2011-2-2 20:44:28 | 只看该作者
回复 忧雪の伤 的帖子

不行啊。。。这下完了

点评

那应该是……Scene_Battle或者Game_Battler出了问题  发表于 2011-2-2 20:55
回复 支持 反对

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
349
在线时间
1197 小时
注册时间
2010-12-18
帖子
3928

贵宾

7
发表于 2011-2-2 20:12:30 | 只看该作者
插入一个新的,MAIN之前
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
123
在线时间
335 小时
注册时间
2010-9-23
帖子
97
6
 楼主| 发表于 2011-2-2 19:33:42 | 只看该作者
回复 忧雪の伤 的帖子

谢谢帮我改标题:D


时空守恒于2011-2-2 19:34补充以下内容:
那个第二个代码怎么覆盖,覆盖在哪里?



时空守恒于2011-2-2 20:01补充以下内容:
第一个代码覆盖了没用,第二个代码怎么用?

点评

没事,先看看问题解决了没吧,还有,标题不是我改的,我只是提示……我没这么大权力……  发表于 2011-2-2 19:34
回复 支持 反对

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
349
在线时间
1197 小时
注册时间
2010-12-18
帖子
3928

贵宾

5
发表于 2011-2-2 18:29:11 | 只看该作者
本帖最后由 忧雪の伤 于 2011-2-2 18:38 编辑

没改脚本,有这个字体也显示不了?你确定你没改脚本。
  1. #==============================================================================
  2. # ■ Sprite_Battler
  3. #------------------------------------------------------------------------------
  4. #  战斗显示用活动块。Game_Battler 类的实例监视、
  5. # 活动块的状态的监视。
  6. #==============================================================================

  7. class Sprite_Battler < RPG::Sprite
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_accessor :battler                  # 战斗者
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化对像
  14.   #     viewport : 显示端口
  15.   #     battler  : 战斗者 (Game_Battler)
  16.   #--------------------------------------------------------------------------
  17.   def initialize(viewport, battler = nil)
  18.     super(viewport)
  19.     @battler = battler
  20.     @battler_visible = false
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 释放
  24.   #--------------------------------------------------------------------------
  25.   def dispose
  26.     if self.bitmap != nil
  27.       self.bitmap.dispose
  28.     end
  29.     super
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● 刷新画面
  33.   #--------------------------------------------------------------------------
  34.   def update
  35.     super
  36.     # 战斗者为 nil 的情况下
  37.     if @battler == nil
  38.       self.bitmap = nil
  39.       loop_animation(nil)
  40.       return
  41.     end
  42.     # 文件名和色相与当前情况有差异的情况下
  43.     if @battler.battler_name != @battler_name or
  44.        @battler.battler_hue != @battler_hue
  45.       # 获取、设置位图
  46.       @battler_name = @battler.battler_name
  47.       @battler_hue = @battler.battler_hue
  48.       self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
  49.       @width = bitmap.width
  50.       @height = bitmap.height
  51.       self.ox = @width / 2
  52.       self.oy = @height
  53.       # 如果是战斗不能或者是隐藏状态就把透明度设置成 0
  54.       if @battler.dead? or @battler.hidden
  55.         self.opacity = 0
  56.       end
  57.     end
  58.     # 动画 ID 与当前的情况有差异的情况下
  59.     if @battler.damage == nil and
  60.        @battler.state_animation_id != @state_animation_id
  61.       @state_animation_id = @battler.state_animation_id
  62.       loop_animation($data_animations[@state_animation_id])
  63.     end
  64.     # 应该被显示的角色的情况下
  65.     if @battler.is_a?(Game_Actor) and @battler_visible
  66.       # 不是主状态的时候稍稍降低点透明度
  67.       if $game_temp.battle_main_phase
  68.         self.opacity += 3 if self.opacity < 255
  69.       else
  70.         self.opacity -= 3 if self.opacity > 207
  71.       end
  72.     end
  73.     # 明灭
  74.     if @battler.blink
  75.       blink_on
  76.     else
  77.       blink_off
  78.     end
  79.     # 不可见的情况下
  80.     unless @battler_visible
  81.       # 出现
  82.       if not @battler.hidden and not @battler.dead? and
  83.          (@battler.damage == nil or @battler.damage_pop)
  84.         appear
  85.         @battler_visible = true
  86.       end
  87.     end
  88.     # 可见的情况下
  89.     if @battler_visible
  90.       # 逃跑
  91.       if @battler.hidden
  92.         $game_system.se_play($data_system.escape_se)
  93.         escape
  94.         @battler_visible = false
  95.       end
  96.       # 白色闪烁
  97.       if @battler.white_flash
  98.         whiten
  99.         @battler.white_flash = false
  100.       end
  101.       # 动画
  102.       if @battler.animation_id != 0
  103.         animation = $data_animations[@battler.animation_id]
  104.         animation(animation, @battler.animation_hit)
  105.         @battler.animation_id = 0
  106.       end
  107.       # 伤害
  108.       if @battler.damage_pop
  109.         damage(@battler.damage, @battler.critical)
  110.         @battler.damage = nil
  111.         @battler.critical = false
  112.         @battler.damage_pop = false
  113.       end
  114.       # korapusu
  115.       if @battler.damage == nil and @battler.dead?
  116.         if @battler.is_a?(Game_Enemy)
  117.           $game_system.se_play($data_system.enemy_collapse_se)
  118.         else
  119.           $game_system.se_play($data_system.actor_collapse_se)
  120.         end
  121.         collapse
  122.         @battler_visible = false
  123.       end
  124.     end
  125.     # 设置活动块的坐标
  126.     self.x = @battler.screen_x
  127.     self.y = @battler.screen_y
  128.     self.z = @battler.screen_z
  129.   end
  130. end
复制代码
你重新覆盖这个脚本试试


如果不行,那就是下面出现的出现了问题(或者其他,先试试)
  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.       bitmap.font.name = "Arial Black"
  12.       bitmap.font.size = 32
  13.       bitmap.font.color.set(0, 0, 0)
  14.       bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
  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.       if value.is_a?(Numeric) and value < 0
  19.         bitmap.font.color.set(176, 255, 144)
  20.       else
  21.         bitmap.font.color.set(255, 255, 255)
  22.       end
  23.       bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
  24.       if critical
  25.         bitmap.font.size = 20
  26.         bitmap.font.color.set(0, 0, 0)
  27.         bitmap.draw_text(-1, -1, 160, 20, "CRITICAL", 1)
  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.font.color.set(255, 255, 255)
  32.         bitmap.draw_text(0, 0, 160, 20, "CRITICAL", 1)
  33.       end
  34.       @_damage_sprite = ::Sprite.new(self.viewport)
  35.       @_damage_sprite.bitmap = bitmap
  36.       @_damage_sprite.ox = 80
  37.       @_damage_sprite.oy = 20
  38.       @_damage_sprite.x = self.x
  39.       @_damage_sprite.y = self.y - self.oy / 2
  40.       @_damage_sprite.z = 3000
  41.       @_damage_duration = 40
  42.     end
  43.    end
  44. end
复制代码
测试完毕……工程问题……用了也不卡
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
123
在线时间
335 小时
注册时间
2010-9-23
帖子
97
4
 楼主| 发表于 2011-2-2 18:19:45 | 只看该作者
回复 火星大人 的帖子

不是诶,我有那个字体啊。。。。:dizzy:


时空守恒于2011-2-2 18:20补充以下内容:
我没改脚本。。。。标题速度修改?不知道。。。

点评

你这个标题会扣分的……  发表于 2011-2-2 18:28
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
122 小时
注册时间
2009-9-4
帖子
231
3
发表于 2011-2-2 17:55:00 | 只看该作者
下载Arial字体

点评

爱死你的头像了.  发表于 2011-2-3 17:55
试了便知道  发表于 2011-2-2 18:00
果然是字体问题吗……  发表于 2011-2-2 17:57
回复 支持 反对

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
349
在线时间
1197 小时
注册时间
2010-12-18
帖子
3928

贵宾

2
发表于 2011-2-2 17:52:11 | 只看该作者
1、标题速度修改
2、请说明,你有没有改脚本
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-2 23:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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