MatchResult:getRegion()
Gibt den Trefferbereich als Region-Objekt zurück.
Beschreibung
Die Methode getRegion() gibt ein Region-Objekt zurück, das den rechteckigen Bereich darstellt, in dem der Treffer gefunden wurde. Dieser Bereich umfasst die Position (X, Y) der oberen linken Ecke sowie die Abmessungen (Breite, Höhe) des Trefferbereichs.
Das zurückgegebene Region-Objekt kann verwendet werden, um:
- Weitere Suchen innerhalb des Trefferbereichs durchzuführen
- Eine Momentaufnahme nur des Trefferbereichs zu erfassen
- Einen Teilbereich für andere Operationen zu definieren
- Einen angepassten Suchbereich für schnelleres wiederholtes Abgleichen zu erstellen
Signatur
getRegion(): Region
Rückgabe
Region - Ein Region-Objekt, das die rechteckigen Grenzen des Trefferbereichs darstellt.
Beispiel
local result = Screen:find("container.png")
if result then
local region = result:getRegion()
toast("Region: X=" .. region:getX() .. ", Y=" .. region:getY())
toast("Größe: " .. region:getWidth() .. "x" .. region:getHeight())
-- Innerhalb des Trefferbereichs suchen für schnelleres Abgleichen
local innerResult = region:find("container.png")
if innerResult then
toast("container.png im Bereich gefunden!")
end
end
Angepasste-Bereich-Technik
getRegion() ist die zentrale Methode hinter einem wichtigen Optimierungsmuster, das oft als fit region (angepasster Bereich) bezeichnet wird.
Das Muster ist:
- Ein stabiles Objekt auf
Screenfinden getRegion()auf demMatchResultaufrufen- Diesen Bereich für wiederholte Suchen innerhalb desselben Objekts wiederverwenden
local panel = Screen:find("reward-panel.jpg")
if panel then
local fitRegion = panel:getRegion()
-- Nur innerhalb des angepassten Bereichs statt im Vollbild suchen
local claim = fitRegion:find("claim-button.jpg")
if claim then
fitRegion:click("claim-button.jpg")
end
end
Diese Technik funktioniert am besten, wenn das gefundene Objekt immer ungefähr die gleiche Größe hat. Sie kann den Verarbeitungsaufwand deutlich reduzieren, da Sie Vollbildsuchen für jeden Schritt innerhalb desselben Containers vermeiden.