MatchResult:getRegion()
Devuelve la región coincidente como un objeto Region.
Descripción
El método getRegion() devuelve un objeto Region que representa el área rectangular donde se encontró la coincidencia. Esta región incluye la posición (X, Y) de la esquina superior izquierda y las dimensiones (ancho, alto) del área coincidente.
La región devuelta puede usarse para:
- Realizar búsquedas adicionales dentro del área coincidente
- Capturar una captura de pantalla solo de la región coincidente
- Definir una subregión para otras operaciones
- Construir un área de búsqueda ajustada para una coincidencia repetida más rápida
Firma
getRegion(): Region
Devuelve
Region - Un objeto Region que representa los límites rectangulares del área coincidente.
Ejemplo
local result = Screen:find("container.png")
if result then
local region = result:getRegion()
toast("Region: X=" .. region:getX() .. ", Y=" .. region:getY())
toast("Size: " .. region:getWidth() .. "x" .. region:getHeight())
-- Search within the matched region for faster matching
local innerResult = region:find("container.png")
if innerResult then
toast("Found container.png inside region!")
end
end
Técnica de ajuste de región
getRegion() es el método clave detrás de un patrón de optimización importante a menudo llamado fit region (ajustar región).
El patrón es:
- Encontrar un objeto estable en
Screen - Llamar a
getRegion()en elMatchResult - Reutilizar esa región para búsquedas repetidas dentro del mismo objeto
local panel = Screen:find("reward-panel.jpg")
if panel then
local fitRegion = panel:getRegion()
-- Search only inside the fitted panel instead of the full screen
local claim = fitRegion:find("claim-button.jpg")
if claim then
fitRegion:click("claim-button.jpg")
end
end
Esta técnica funciona mejor cuando el objeto coincidente siempre tiene aproximadamente el mismo tamaño. Puede reducir significativamente el costo de procesamiento porque evitas repetir búsquedas de pantalla completa para cada paso dentro del mismo contenedor.