查看: 5149|回复: 4

[原创发布] 【api篇】控制鼠标操作

[复制链接]

老黄鸡

梦石
4
星屑
45700
在线时间
7948 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2010-12-29 14:52:17 | 显示全部楼层 |阅读模式

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

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

×
撒花撒花,第一次成功地玩了API!!
喵,今天下载了VB控制鼠标的范例,然后反复琢磨和尝试AND咨询终于成功地移植到RGSS上咯~~

范例

Project1.rar (187.19 KB, 下载次数: 652)
脚本
  1. # 定位鼠标 by Fux2
  2. # 喵的第一次玩API居然都成功!撒花!
  3. class Cursor

  4.   M0USEEVENTF_LEFTDOWN  = 2      # 鼠标左键按下键值     
  5.   MOUSEEVENTF_LEFTUP    = 4      # 鼠标左键松开键值
  6.   
  7.   # 初始化
  8.   def initialize
  9.       # 调用user32.dll的GetCursorPos(得到鼠标坐标)函数
  10.       @getCursorPos = Win32API.new("user32","GetCursorPos",['P'],'V')
  11.       # 调用user32.dll的GetCursorPos(得到鼠标坐标)函数
  12.       @setCursorPos = Win32API.new("user32","SetCursorPos",['i']*2,'V')
  13.       # 调用user32.dll的mouse_event(鼠标事件,如点击)函数
  14.       @mouse_event = Win32API.new("user32","mouse_event",['L']*5,'V')
  15.   end
  16.   
  17.   # 获得鼠标坐标
  18.   def pos
  19.       lpPoint ="\0"*8
  20.       @getCursorPos.Call(lpPoint)
  21.       x,y = lpPoint.unpack("LL")
  22.       return [x,y]
  23.   end
  24.    
  25.   # 设定鼠标坐标
  26.   def pos=(xy)
  27.       @setCursorPos.Call(xy[0],xy[1])
  28.   end
  29.    
  30.   # 按下鼠标左键
  31.   def leftdown
  32.       @mouse_event.Call(M0USEEVENTF_LEFTDOWN,0,0,0,0)
  33.   end
  34.    
  35.   # 松开鼠标左键
  36.   def leftup
  37.        @mouse_event.Call(MOUSEEVENTF_LEFTUP,0,0,0,0)
  38.   end
  39.      
  40.   # 点击鼠标左键(按下提起)
  41.   def click
  42.       leftdown
  43.       leftup
  44.     end
  45.    
  46. end
复制代码
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
梦石
0
星屑
1748
在线时间
485 小时
注册时间
2006-1-7
回帖
996
发表于 2010-12-29 17:33:49 | 显示全部楼层
干嘛用的?求指导。

点评

相当于按键精灵,只不过只能控制鼠标。  发表于 2010-12-29 20:54
初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
回帖
605
发表于 2010-12-29 21:11:49 | 显示全部楼层
fux2借挪用一下...
完善...

点评

求dd大人指教……刚接触API  发表于 2010-12-29 21:17
RGE这万年大坑 啥时填起来@@

回复

使用道具 举报

梦石
0
星屑
6245
在线时间
558 小时
注册时间
2018-6-5
回帖
125
发表于 2018-6-9 14:19:11 | 显示全部楼层
魔塔样板能用吗
俄罗斯帝国末代沙皇尼古拉二世
#俄文转写 = Царь Николай II
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45700
在线时间
7948 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

 楼主| 发表于 2018-6-9 21:44:36 | 显示全部楼层

通用,但是主楼的脚本是基于屏幕的鼠标坐标而不是基于用户窗口内的(这东西就是初学时随便弄的)
还是找更成熟的脚本吧。
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部