设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1548|回复: 0
打印 上一主题 下一主题

[已经过期] 鼠标指针能不能随地图变化

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1244
在线时间
898 小时
注册时间
2014-12-4
帖子
379
跳转到指定楼层
1
发表于 2015-9-16 12:37:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
https://rpg.blue/forum.php?mod=viewthread&tid=347535 原帖地址
sion 大大的鼠标脚本,其中的插件鼠标指针变化V2.2, 能不能实现在固定的地图变成指定的鼠标指针图标,或者 在固定的地图把鼠标指针i 固定住?
脚本原文
RUBY 代码复制
  1. # 鼠标指针变换功能 v2.2 (2014.1.24)
  2. # ·需· 鼠标系统(SionMouseSystem)v2.1+
  3. # 说明:
  4. #    鼠标指针图片参考 Grpahics\System\VariableCursor.png
  5. #    单个指针图片大小默认是64x64,图片的中心为鼠标坐标
  6. #
  7. #    事件中添加注释: 鼠标指针i
  8. #        鼠标移动到此事件上时鼠标指针自动切换到对应图片
  9. #    可以参考范例里的事件注释
  10. #
  11. #
  12. class << Mouse
  13. CursorSize = 64 #单个图标大小
  14.   def create_cursor(vp)
  15.     dispose_cursor if @sprite
  16.     @sprite = Sprite.new(vp)
  17.     @sprite.z = 9999
  18.     if File.exist?('Graphics/System/VariableCursor.png')
  19.       @sprite.bitmap = Cache.system('VariableCursor')
  20.     else
  21.       msgbox("Graphics/System/VariableCursor.png 缺失")
  22.       exit
  23.     end
  24.     @sprite.src_rect.set(0, 0, CursorSize, CursorSize)
  25.     @sprite.ox = CursorSize / 2
  26.     @sprite.oy = CursorSize / 2
  27.     update_cursor
  28.   end
  29.   def change_cursor(i)
  30.     @sprite.src_rect.x = i * CursorSize
  31.   end
  32. end
  33.  
  34. class Scene_Map
  35.   alias_method :change_cursor_update_mouse_action, :update_mouse_action
  36.   def update_mouse_action
  37.     Mouse.change_cursor(0)
  38.     $game_map.events_xy($game_map.mouse_map_x, \
  39.     $game_map.mouse_map_y).each {|event|
  40.       if event.mouse_start?
  41.         break Mouse.change_cursor(1)
  42.       elsif event.cursor_index
  43.         break Mouse.change_cursor(event.cursor_index)
  44.       end
  45.     }
  46.     change_cursor_update_mouse_action
  47.   end
  48.   alias_method :change_cursor_sion_mouse_call_menu, :call_menu
  49.   def call_menu
  50.     Mouse.change_cursor(0)
  51.     change_cursor_sion_mouse_call_menu
  52.   end
  53. end
  54.  
  55. class Game_Event
  56.   attr_reader :locked, :cursor_index
  57.   alias_method :change_cursor_lock, :lock
  58.   def lock
  59.     Mouse.change_cursor(0)
  60.     change_cursor_lock
  61.   end
  62.   alias_method :change_cursor_sion_mouse_start, :sion_mouse_start
  63.   def sion_mouse_start
  64.     Mouse.change_cursor(0)
  65.     change_cursor_sion_mouse_start
  66.   end
  67.   def sion_mouse_read_event_notes
  68.     @mouse_start = false
  69.     @cursor_index = nil
  70.     @list.each {|cmd| break if sion_mouse_scan_list(cmd)} unless empty?
  71.   end
  72.   def sion_mouse_scan_list(cmd) # 覆盖
  73.     return false unless cmd.code == 108 || cmd.code == 408
  74.     text = cmd.parameters[0]
  75.     if text.include?("鼠标启动")
  76.       @mouse_start = true
  77.       @cursor_index = 1 #设置鼠标启动对应的鼠标指针索引
  78.     elsif /鼠标指针(\d+)/ =~ text
  79.       @cursor_index = $1.to_i
  80.     end
  81.     return @cursor_index
  82.   end
  83. end
  84.  
  85. class Game_Player < Game_Character
  86.   alias_method :change_cursor_make_encounter_count, :make_encounter_count
  87.   def make_encounter_count
  88.     Mouse.change_cursor(0)
  89.     change_cursor_make_encounter_count
  90.   end
  91. end
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 21:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表