Project1

标题: 垃圾网游一样——鼠标点击位置判定 [打印本页]

作者: 刹那铃音    时间: 2018-3-10 17:00
标题: 垃圾网游一样——鼠标点击位置判定
本帖最后由 刹那铃音 于 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
复制代码

作者: 偶系口    时间: 2018-3-11 12:55
先顶一个先




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1