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

Project1

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

如何显示两次伤害呢???

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
跳转到指定楼层
1
发表于 2008-7-10 00:25:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
在 Scene_Battle 4 的显示伤害部分设置了攻击反弹(状态18)和吸血(状态50),然后当吸血状态的角色打反弹状态的敌人时,伤害显示就不正常了,如何能让伤害先显示吸血的数字然后再显示被敌人反弹的伤害数字呢?


脚本如下:

  #--------------------------------------------------------------------------
  # ● 刷新画面 (主回合步骤 5 : 显示伤害)
  #--------------------------------------------------------------------------
  def update_phase4_step5
    # 隐藏帮助窗口
    @help_window.visible = false
    # 刷新状态窗口
    @status_window.refresh
    # 显示伤害
    for target in @target_battlers
      
#描述反弹伤害部分   
      if target.state?(18)
        if @active_battler.current_action.kind == 0 and target.damage != "Miss"
          target.animation_id = 98
          @active_battler.hp -= @active_battler.damage.to_i
          @active_battler.damage_pop = true
        end
      end

#描述吸血部分   
    if (@active_battler.state?(50) and @active_battler.current_action.basic == 0 and @active_battler.current_action.kind == 0) or (@active_battler.state?(50) and @active_battler.current_action.kind == 1 and $data_skills[@active_battler.current_action.skill_id].power > 0)
       for target in @target_battlers
       if target.damage != nil and target.damage != "Miss"
       @active_battler.hp += (target.damage*0.1).to_i
       @active_battler.damage = 0 - (target.damage*0.1).to_i
       @active_battler.damage_pop = true   
       end
       end
    end

      if target.damage != nil
        target.damage_pop = true
      end
    end
   
    # 移至步骤 6
    @phase4_step = 6
  end









此贴于 2008-7-13 12:48:57 被版主darkten提醒,请楼主看到后对本贴做出回应。
此贴于 2008-7-16 12:31:35 被版主darkten提醒,请楼主看到后对本贴做出回应。
版务信息:版主帮忙结贴~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
2
 楼主| 发表于 2008-7-10 00:29:37 | 只看该作者
找不到这种两种特效遭遇在一起的情况
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
3
发表于 2008-7-10 00:38:59 | 只看该作者
    该成
    if target.damage != nil or target.state?(18)
       target.damage_pop = true
     end
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
2 小时
注册时间
2008-7-9
帖子
121
4
发表于 2008-7-10 06:35:21 | 只看该作者
damage_pop几次用的是同一个Sprite,分开Sprite就行了,这样还能同时出现。
雨~ 纯净~又有点感伤……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
5
 楼主| 发表于 2008-7-10 19:09:48 | 只看该作者
以下引用大地的雨于2008-7-9 22:35:21的发言:

damage_pop几次用的是同一个Sprite,分开Sprite就行了,这样还能同时出现。




那么如何分开Sprite呢??
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
2 小时
注册时间
2008-7-9
帖子
121
6
发表于 2008-7-14 02:51:25 | 只看该作者
有两个方法:
1. 重定义 def damage,用数组来增加 Sprite 。
2. 直接在该位置生成一个新的 Sprite.new ,然后直接执行 damage 。
系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
雨~ 纯净~又有点感伤……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-8-8 19:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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