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

Project1

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

[已经过期] 角色普通攻击无法显示伤害的描绘是什么问题?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
帖子
1231
跳转到指定楼层
1
发表于 2018-2-20 13:16:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

如上图:
只是在默认脚本添加了一段判断而已。
脚本代码:
RUBY 代码复制
  1. #==============================================================================
  2. # ** Scene_Battle
  3. #------------------------------------------------------------------------------
  4. #  這個類用來執行顯示作戰畫面的程式。
  5. #==============================================================================
  6.  
  7. class Scene_Battle < Scene_Base
  8.    #--------------------------------------------------------------------------
  9.   # * 顯示HP傷害資訊
  10.   #     target : 目標參戰者
  11.   #     obj    : 技能或物品
  12.   #--------------------------------------------------------------------------
  13.   def display_hp_damage(target, obj = nil)
  14.     if target.hp_damage == 0                # 無HP傷害
  15.       return if obj != nil and obj.damage_to_mp
  16.       return if obj != nil and obj.base_damage == 0
  17.       fmt = target.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
  18.       text = sprintf(fmt, target.name)
  19.     elsif target.absorbed                   # HP被汲取
  20.       fmt = target.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
  21.       text = sprintf(fmt, target.name, Vocab::hp, target.hp_damage)
  22.     elsif target.hp_damage > 0              # HP傷害
  23.       if target.actor?
  24.         text = sprintf(Vocab::ActorDamage, target.name, target.hp_damage)
  25.         Sound.play_actor_damage
  26.         $game_troop.screen.start_shake(5, 5, 10)
  27.       else
  28. ######
  29.       skill = @active_battler.action.skill
  30.       if skill.is_a?(RPG::Skill)
  31.       case skill.id
  32.       when 83
  33.         text = sprintf(Vocab::EnemyDamage2, target.name, target.hp_damage)
  34.       else
  35.         text = sprintf(Vocab::EnemyDamage, target.name, target.hp_damage)
  36.       end
  37.       end
  38. ######
  39.       #  text = sprintf(Vocab::EnemyDamage, target.name, target.hp_damage)
  40.         Sound.play_enemy_damage
  41.         target.blink = true
  42.       end
  43.     else   
  44.       # HP恢復
  45.       fmt = target.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
  46.       text = sprintf(fmt, target.name, Vocab::hp, -target.hp_damage)
  47.       Sound.play_recovery
  48.     end
  49.     @message_window.add_instant_text(text)
  50.     wait(30)
  51.   end
  52. end

请问是重定义了什么内容还是其他什么问题造成的?
一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。

Lv6.析梦学徒

老鹰

梦石
40
星屑
34730
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2018-2-20 13:37:32 | 只看该作者
在49行之前print一下text,看看是否获得了正确的字符串?
如果对话窗口里的text与你预想的一致,就看看你新增的对于battlelog窗口的美化是否有问题咯
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
帖子
1231
3
 楼主| 发表于 2018-2-20 13:43:22 | 只看该作者
百里_飞柳 发表于 2018-2-20 13:37
在49行之前print一下text,看看是否获得了正确的字符串?
如果对话窗口里的text与你预想的一致,就看看你新 ...


结果为nil。

没有获得字符串。
那是什么问题造成的?

点评

那你就在你加的脚本里一个个print下看看,是哪个崩了咯  发表于 2018-2-20 14:01
一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 00:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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