查看: 2068|回复: 3

[已经过期] 关于“战斗受击时战斗图移动”

[复制链接]
梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
回帖
317
发表于 2014-8-4 12:22:17 | 显示全部楼层 |阅读模式

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

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

×
这是脚本,[pre lang="ruby" line="1"]      if @battler.damage_pop
        if @battler.damage.is_a?(Numeric) and @battler.damage > 0
          for i in 1..5
            self.x -= 8
            self.y -= 5
            Graphics.update
          end
          for i in 1..5
            self.x += 8
            self.y += 5
            Graphics.update
          end
        end
        damage(@battler.damage, @battler.critical)
        @battler.damage = nil
        @battler.critical = false
        @battler.damage_pop = false
        
      end[/pre]

那要是敌人和我方受伤的时候,移动不一样呢,
例:敌人受伤
  1. for i in 1..5
  2.             self.x -= 8
  3.             self.y -= 5
  4.             Graphics.update
  5.           end
  6.           for i in 1..5
  7.             self.x += 8
  8.             self.y += 5
  9.             Graphics.update
  10.           end
  11.         end
复制代码
我方受伤X.Y就相反,怎么添加判断敌人和我方??另外防御和MISS的时候都要移动应该怎么写?

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
回帖
1223
发表于 2014-8-4 12:45:01 | 显示全部楼层
会卡顿,把Graphics.update换成update(未测试)
@battler.is_a?(Game_Actor) 判断角色
@battler.is_a?(Game_Enemy) 判断敌人
把if @battler.damage.is_a?(Numeric) and @battler.damage > 0
改成if self.damage.is_a?(Numeric) and self.damage > 0

点评

我当时想着伤害是self显示的.............  发表于 2014-8-5 14:23
如果换成 self 就是 RPG::Sprite 了。  发表于 2014-8-5 13:51
回复

使用道具 举报

梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
回帖
317
 楼主| 发表于 2014-8-4 12:55:22 | 显示全部楼层
恐惧剑刃 发表于 2014-8-4 12:45
会卡顿,把Graphics.update换成update(未测试)
@battler.is_a?(Game_Actor) 判断角色
@battler.is_a?(Gam ...

还是麻烦把完整的写出来吧。我自己写的会报错。麻烦了
回复

使用道具 举报

梦石
0
星屑
34460
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2014-8-5 13:47:03 | 显示全部楼层
试试这样:
  1. if @battler.damage_pop
  2.   if @battler.damage.is_a?(Numeric) and @battler.damage > 0
  3.     for i in 1..5
  4.       self.x += @battler.is_a?(Game_Actor) ? -8 : 8
  5.       self.y += @battler.is_a?(Game_Actor) ? -5 : 5
  6.       Graphics.update
  7.     end
  8.     for i in 1..5
  9.       self.x += @battler.is_a?(Game_Actor) ? 8 : -8
  10.       self.y += @battler.is_a?(Game_Actor) ? 5 : -5
  11.       Graphics.update
  12.     end
  13.   end
  14.   damage(@battler.damage, @battler.critical)
  15.   @battler.damage = nil
  16.   @battler.critical = false
  17.   @battler.damage_pop = false
  18. end
复制代码

评分

参与人数 2星屑 +151 收起 理由
RyanBern + 66 塞糖
恐惧剑刃 + 85 塞糖

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部