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

Project1

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

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2487
在线时间
214 小时
注册时间
2017-9-27
帖子
613
跳转到指定楼层
1
发表于 2018-3-10 17:00:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 刹那铃音 于 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 塞糖

查看全部评分

浅尝辄止,宜乎众矣。

Lv1.梦旅人

梦石
0
星屑
114
在线时间
35 小时
注册时间
2017-4-4
帖子
44
2
发表于 2018-3-11 12:55:28 | 只看该作者
先顶一个先
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-20 22:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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