Zum Hauptinhalt springen

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:

  1. Ein stabiles Objekt auf Screen finden
  2. getRegion() auf dem MatchResult aufrufen
  3. 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.