#__END__
# Sion 鼠标系统(SionMouseSystem)v2.31 (2014/2/20)
# RGU version by Admenri 220801
# v2.32(2014/6/9) 优化了地图卷动指令、等待指令的衔接过程。
# v2.31(2014/2/20) 事件执行过程中,卷动地图后不会自动跳转到玩家位置了。
=begin 说明
主要功能
1,自动寻路,按住 D 键可以扩大寻路的范围
2,变量输入框改良
3,鼠标启动事件:
在事件中加入“注释”:鼠标启动
该事件将无法用其它方式启动,只能用鼠标左键点击启动
鼠标指针图片 MouseCursor.png 放入 Graphics\System 文件夹
路径点指示图片 $Arrow.png 放入 Graphics\Characters 文件夹
如果未放入会使用RM自带图片代替缺失文件
=end
# RGU version by Admenri 220801
# 基础鼠标模组(Sion_MouseBase)v1.01 (2013/11/5)
# 需求! 白菜组脚本基 (WhiteCabbageBase) v1.0+
#
# 鼠标指针图片 MouseCursor.png 放入 Graphics\System 文件夹
# 按下 Alt + L 将鼠标锁定在屏幕内; Alt + O(字母欧) 解除锁定
Mouse.visible = true
module Mouse end
class << Mouse
def activate(vp = nil)
end
def deactivate
end
def set_pos(x, y)
end
def create_cursor(vp)
end
def dispose_cursor
end
def trigger?(sym)
click? sym
end
def repeat?(sym)
false
end
def state(sym)
press? sym
end
def double_click?
dbl_clk? :L
end
def click_count
0
end
def show_system_cursor
end
def hide_system_cursor
end
end
class << Mouse
attr_reader :sprite
end
class << Input
alias_method :sion_mouse_press?, :press?
alias_method :sion_mouse_trigger?, :trigger?
alias_method :sion_mouse_repeat?, :repeat?
unless self.method_defined?(:sion_mouse_update)
alias_method :sion_mouse_update, :update
end
def update
Mouse.update
sion_mouse_update
end
def press?(key)
return true if sion_mouse_press?(key)
return Mouse.press?(Mouse::LEFT) if key == ":L" #b
return Mouse.press?(Mouse::RIGHT) if key == ":R" #b
return Mouse.press?(Mouse::MIDDLE) if key == ":M" #b 貌似“:C”是VXACEruby版本用法在rpgmaker xp中没用,所以我加了三个返回值,这样input.press?也可以使用而不是只有 Mouse.press?
return Mouse.press?(:L) if key == :C
return Mouse.press?(:R) if key == :B
return false
end
def trigger?(key)
return true if sion_mouse_trigger?(key)
return Mouse.trigger?(:L) if key == :C
return Mouse.trigger?(:R) if key == :B
return false
end
def repeat?(key)
return true if sion_mouse_repeat?(key)
return Mouse.repeat?(:L) if key == :C
return Mouse.repeat?(:R) if key == :B
return false
end
end