查看: 2729|回复: 1

[原创发布] 垃圾网游一样——鼠标点击位置判定

[复制链接]
梦石
0
星屑
2497
在线时间
215 小时
注册时间
2017-9-27
回帖
563
发表于 2018-3-10 17:00:03 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 刹那铃音 于 2018-3-10 17:03 编辑

以前的垃圾脚本,BUG和改进概不负责,实际上就是求糖来了 需要鼠标脚本作为前置,不要问我鼠标脚本在哪······可以根据鼠标点击的位置进行判定,可以实现点击到的位置触发公共事件,不适合新手使用。
RectsData内填画面的XY和要点区域的XY,ContentsData填触发的公共事件,可以无限添加,理论上可以实现垃圾网游一样的触发(听不懂就问)
  1. module MouseClickRects
  2.   RectsData = [
  3.   [0,0,25,50]
  4.   ]
  5.   ContentsData = [11]
  6. end

  7. class Scene_Map
  8.   #--------------------------------------------------------------------------
  9.   # ● 更新场景消退时的过渡
  10.   #--------------------------------------------------------------------------
  11.   alias old_804173948_update_scene update_scene
  12.   def update_scene
  13.     old_804173948_update_scene
  14.     update_mouse_click unless scene_changing?
  15.   end  
  16.   def update_mouse_click
  17.     return unless Mouse.trigger?(Mouse::LEFT)
  18.     x,y = Mouse.get_mouse_pos
  19.     MouseClickRects::RectsData.each_with_index do |rect,i|
  20.       if on_rect?(x,y,rect)
  21.         $game_temp.reserve_common_event(MouseClickRects::ContentsData[i])
  22.         break
  23.       end
  24.     end
  25.   end
  26.   def on_rect?(x,y,rect)
  27.     return x>rect[0] && y>rect[1] && x<rect[0]+rect[2] && y<rect[1]+rect[3]
  28.   end
  29. end
复制代码

评分

参与人数 2赞 +2 收起 理由
饿啊 + 1 你的糖拿走
Nil2018 + 1 塞糖

查看全部评分

浅尝辄止,宜乎众矣。
梦石
0
星屑
114
在线时间
35 小时
注册时间
2017-4-4
回帖
40
发表于 2018-3-11 12:55:28 | 显示全部楼层
先顶一个先
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部