撒花撒花,第一次成功地玩了API!!
喵,今天下载了VB控制鼠标的范例,然后反复琢磨和尝试AND咨询终于成功地移植到RGSS上咯~~
范例
脚本
- # 定位鼠标 by Fux2# 喵的第一次玩API居然都成功!撒花!class Cursor M0USEEVENTF_LEFTDOWN = 2 # 鼠标左键按下键值 MOUSEEVENTF_LEFTUP = 4 # 鼠标左键松开键值 # 初始化 def initialize # 调用user32.dll的GetCursorPos(得到鼠标坐标)函数 @getCursorPos = Win32API.new("user32","GetCursorPos",['P'],'V') # 调用user32.dll的GetCursorPos(得到鼠标坐标)函数 @setCursorPos = Win32API.new("user32","SetCursorPos",['i']*2,'V') # 调用user32.dll的mouse_event(鼠标事件,如点击)函数 @mouse_event = Win32API.new("user32","mouse_event",['L']*5,'V') end # 获得鼠标坐标 def pos lpPoint ="\0"*8 @getCursorPos.Call(lpPoint) x,y = lpPoint.unpack("LL") return [x,y] end # 设定鼠标坐标 def pos=(xy) @setCursorPos.Call(xy[0],xy[1]) end # 按下鼠标左键 def leftdown @mouse_event.Call(M0USEEVENTF_LEFTDOWN,0,0,0,0) end # 松开鼠标左键 def leftup @mouse_event.Call(MOUSEEVENTF_LEFTUP,0,0,0,0) end # 点击鼠标左键(按下提起) def click leftdown leftup end end复制代码
复制代码 本帖来自P1论坛作者白鬼,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:
https://rpg.blue/forum.php?mod=viewthread&tid=164097 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。