Project1
标题:
“全动画战斗"出错问题
[打印本页]
作者:
冷血冰狐
时间:
2013-9-18 21:57
标题:
“全动画战斗"出错问题
本帖最后由 冷血冰狐 于 2013-9-18 22:02 编辑
关于”全动画战斗“出错问题。、攻打敌人就跳出这样的问题。。
#==============================================================================
# ■ Game_BattleAction
#------------------------------------------------------------------------------
# 处理行动 (战斗中的行动) 的类。这个类在 Game_Battler 类
# 的内部使用。
#==============================================================================
class Game_BattleAction
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_accessor :speed # 速度
attr_accessor :kind # 种类 (基本 / 特技 / 物品)
attr_accessor :basic # 基本 (攻击 / 防御 / 逃跑)
attr_accessor :skill_id # 特技 ID
attr_accessor :item_id # 物品 ID
attr_accessor :target_index # 对像索引
attr_accessor :forcing # 強强制标志
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
clear
end
#--------------------------------------------------------------------------
# ● 清除
#--------------------------------------------------------------------------
def clear
@speed = 0
@kind = 0
@basic = 3
@skill_id = 0
@item_id = 0
@target_index = -1
@forcing = false
end
#--------------------------------------------------------------------------
# ● 有效判定
#--------------------------------------------------------------------------
def valid?
return (not (@kind == 0 and @basic == 3))
end
#--------------------------------------------------------------------------
# ● 己方单体使用判定
#--------------------------------------------------------------------------
def for_one_friend?
# 种类为特级、效果范围是我方单体 (包含 HP 0) 的情况
if @kind == 1 and [3, 5].include?($data_skills[@skill_id].scope)
return true
end
# 种类为物品、效果范围是我方单体 (包含 HP 0) 的情况
if @kind == 2 and [3, 5].include?($data_items[@item_id].scope)
return true
end
return false
end
#--------------------------------------------------------------------------
# ● 己方单体用 (HP 0) 判定
#--------------------------------------------------------------------------
def for_one_friend_hp0?
# 种类为特级、效果范围是我方单体 (HP 0) 的情况
if @kind == 1 and [5].include?($data_skills[@skill_id].scope)
return true
end
# 种类为物品、效果范围是我方单体 (HP 0) 的情况
if @kind == 2 and [5].include?($data_items[@item_id].scope)
return true
end
return false
end
#--------------------------------------------------------------------------
# ● 随机目标 (角色用)
#--------------------------------------------------------------------------
def decide_random_target_for_actor
# 效果范围的分支
if for_one_friend_hp0?
battler = $game_party.random_target_actor_hp0
elsif for_one_friend?
battler = $game_party.random_target_actor
else
battler = $game_troop.random_target_enemy
end
# 对像存在的话取得索引、
# 对像不存在的场合下清除行动
if battler != nil
@target_index = battler.index
else
clear
end
end
#--------------------------------------------------------------------------
# ● 随机目标 (敌人用)
#--------------------------------------------------------------------------
def decide_random_target_for_enemy
# 效果范围的分支
if for_one_friend_hp0?
battler = $game_troop.random_target_enemy_hp0
elsif for_one_friend?
battler = $game_troop.random_target_enemy
else
battler = $game_party.random_target_actor
end
# 对像存在的话取得索引、
# 对像不存在的场合下清除行动
if battler != nil
@target_index = battler.index
else
clear
end
end
#--------------------------------------------------------------------------
# ● 最后的目标 (角色用)
#--------------------------------------------------------------------------
def decide_last_target_for_actor
# 效果范围是己方单体以及行动者、以外的的敌人
if @target_index == -1
battler = nil
elsif for_one_friend?
battler = $game_party.actors[@target_index]
else
battler = $game_troop.enemies[@target_index]
end
# 对像不存在的场合下清除行动
if battler == nil or not battler.exist?
clear
end
end
#--------------------------------------------------------------------------
# ● 最后的目标 (敌人用)
#--------------------------------------------------------------------------
def decide_last_target_for_enemy
# 效果范围是己方单体以敌人、以外的的角色
if @target_index == -1
battler = nil
elsif for_one_friend?
battler = $game_troop.enemies[@target_index]
else
battler = $game_party.actors[@target_index]
end
# 对像不存在的场合下清除行动
if battler == nil or not battler.exist?
clear
end
end
end
QQ图片20130918215448.jpg
(34.36 KB, 下载次数: 10)
下载附件
保存到相册
2013-9-18 21:55 上传
全动画战斗出错
作者:
冷血冰狐
时间:
2013-9-18 22:01
问题已经找到。。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1