=begin
第一个是获取鼠标相对于游戏界面的位置
使用方法是 Extra.get_cursor 调用一次后会保存到 $Mouse
每一次 Graphics.update 后 要用鼠标位置的话就要调用一次
第二个是判断鼠标是否被按下
使用是 Extra.p? 是的话会返回True
=end
$Mouse=[0,0]
module Extra
module_function
#---------------------窗口句柄----------------------------------
Hwnd=Win32API.new("user32", "GetActiveWindow", 'v', 'L').call
#-------------------获取鼠标对于游戏界面坐标---------------------
GetWindowRect = Win32API.new("user32", "GetWindowRect", %w(i p), 'i')
GetCursorPos = Win32API.new("user32","GetCursorPos",'P','V')
def get_cursor
x=' '*8
GetCursorPos.Call(x)
mouse=x.unpack('ll')
GetWindowRect.call(Hwnd,x)
gametop=x.unpack('ll')
x=mouse[0]-gametop[0]-3
y=mouse[1]-gametop[1]-29
$Mouse=[x,y]
end
#-------------------是否按下鼠标-----------------------------
Get=Win32API.new("user32","GetAsyncKeyState",'i','i')
def p?()
Get.call(1) != 0
end
end
=begin
第一个是获取鼠标相对于游戏界面的位置
使用方法是 Extra.get_cursor 调用一次后会保存到 $Mouse
每一次 Graphics.update 后 要用鼠标位置的话就要调用一次
第二个是判断鼠标是否被按下
使用是 Extra.p? 是的话会返回True
=end
$Mouse=[0,0]
module Extra
module_function
#---------------------窗口句柄----------------------------------
Hwnd=Win32API.new("user32", "GetActiveWindow", 'v', 'L').call
#-------------------获取鼠标对于游戏界面坐标---------------------
GetWindowRect = Win32API.new("user32", "GetWindowRect", %w(i p), 'i')
GetCursorPos = Win32API.new("user32","GetCursorPos",'P','V')
def get_cursor
x=' '*8
GetCursorPos.Call(x)
mouse=x.unpack('ll')
GetWindowRect.call(Hwnd,x)
gametop=x.unpack('ll')
x=mouse[0]-gametop[0]-3
y=mouse[1]-gametop[1]-29
$Mouse=[x,y]
end
#-------------------是否按下鼠标-----------------------------
Get=Win32API.new("user32","GetAsyncKeyState",'i','i')
def p?()
Get.call(1) != 0
end
end