#==============================================================================
# 逐帧行走图 V1.1
#------------------------------------------------------------------------------
# - 脚本原作者为MCCF。此脚本没有使用规约,在符合当地法规的情况下可自由使用。
#==============================================================================
# - 在XP中,可强制设置人物行走图位于哪一帧。此脚本延续了这一设定,以实现更好的效果。
#------------------------------------------------------------------------------
# - 事件-移动路线中使用set_pattern(id)即可,id为指定的帧的下标(0-11)。
#------------------------------------------------------------------------------
# - 如想要清除强制设定请使用set_pattern(nil)的方法。
#==============================================================================
#==============================================================================
# ■ Game_CharacterBase
#------------------------------------------------------------------------------
# 管理地图人物的基本类。是所有地图人物类的共通父类。拥有坐标、图片等基本信息。
#==============================================================================
class Game_CharacterBase
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_reader :pattern_id # 当前帧ID
#--------------------------------------------------------------------------
# ● 设置当前帧
#--------------------------------------------------------------------------
def set_pattern(index)
@pattern_id = index
end
end
#==============================================================================
# ■ Sprite_Character
#------------------------------------------------------------------------------
# 地图人物的精灵。根据 Game_Character 类的实例自动变化。
#==============================================================================
class Sprite_Character
#--------------------------------------------------------------------------
# ● 更新源矩形
#--------------------------------------------------------------------------
alias framing_character_update_src_rect update_src_rect
def update_src_rect
return framing_character_update_src_rect unless @character.pattern_id
index = @character.character_index
x = @cw * (index % 4 * 3 + @character.pattern_id % 3)
y = @ch * (index / 4 * 4 + @character.pattern_id / 3)
self.src_rect.set(x, y, @cw, @ch)
end
end