PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche einfaches Mausscript



Doktor von Stein
10.09.2011, 13:29
Hallo Community,
kennt jemand ein einfaches Mausscript? Es müsste lediglich Mauspositonsabfrage, Rechts- und Linksklick überprüfen können.

Cornix
10.09.2011, 14:47
Ob die linke oder rechte Maustaste (oder auch jegliche andere Tasten welche die Maus haben könnte) gedrückt wird ist in jedem (oder sollte zumindest) Full-Input-Script vorhanden.
Denn um zu testen ob nun die "A"-Taste oder die Maus gedrückt wurde funktioniert exakt gleich.

Für die Mausposition kann ich dir ein Script geben:

module Mouse_Position
title = "\0" * 256
Win32API.new('kernel32', 'GetPrivateProfileString','PPPPLP', 'L').call("Game", "Title", "", title, 256, ".\\Game.ini")
title.delete!("\0")
u = 'user32'
GAME_WINDOW = Win32API.new(u, 'FindWindow', 'PP', 'I').call("RGSS Player", title)
CURSOR_POSITION_API = Win32API.new (u, 'GetCursorPos','P', 'I')
SCREEN_TO_CLIENT_API = Win32API.new(u, 'ScreenToClient', %w(l p), 'I')

module_function

def position
pos = [0, 0].pack('ll')
if CURSOR_POSITION_API.call(pos) != 0
return pos.unpack('ll')
else
return nil
end
end

def relative_position
x, y = self.screen_to_client(*position)
if x != nil and y != nil
return x, y
else
return nil
end
end

def screen_to_client(x, y)
return nil unless x and y
pos = [x, y].pack('ll')
if SCREEN_TO_CLIENT_API.call(GAME_WINDOW, pos) != 0
return pos.unpack('ll')
else
return nil
end
end
end
Die Funktion "position" gibt dir die exakte Position der Maus auf dem Bildschirm wieder, die Funktion "relative_position" gibt dir die Position der Maus wieder mit dem Nullpunkt der Koordinaten-Achsen als der oberen-linken Ecke des Spielfensters.

Doktor von Stein
10.09.2011, 19:37
Danke.