加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
x
 
 本帖最后由 ppspssss 于 2025-3-7 22:22 编辑  
 
由于此贴为之前电脑有的草稿存档,被我找到出来,但注释的是没有存档,因而没注释 (发贴日期2024.8.14) 
测试系统: windows7 64位 和 windows10 64位 , rgu版本号240621 
RGU鼠标脚本: #注意注释里的功能是没有,只剩下按下鼠标的功能 
#__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     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 
 
 #__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  
    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  
 
  
Mouse.trigger和Mouse.repeat 都是无效,此脚本原来好像是用于VA所以 :C:B:L:R那些不是XP用法无视即可,我在":L" 加了双引号是 文本 注意其实是没意思,可改成其他名字也行 
if (Graphics.frame_rate % 5) == 0 #每5帧刷新一次(此句我测试用,可不看) 
p Mouse.x,Mouse.y  
# Mouse.x和Mouse.y 用来直接获取鼠标x轴与鼠标y轴 
实际使用例字: Scene_Title ,def update ,test 
   if  Input.press?(":L") 
    p "按住了左键" 
   end #if 
单击需要自行设置变量计数器 
 
----------------------------------以下为其他关于rgu 
键盘按键可F1更改  
 
看开源库貌似作者已废弃RGU,如是的话,240831可能为最终版本 
蓝字内容出自https://github.com/Admenri/rguplayer 
RGU Player Core (已废弃 / Deprecated) 
已废弃 
此项目因为某些原因已废弃,如有需要请移步新项目:URGE,本仓库计划在URGE完成后彻底废弃并删除 
为什么要开新项目? 答:写的太烂+有争议,索性放弃并开发新架构 
 
rgu.win.240831.7z |