본문으로 건너뛰기

MatchResult:getRegion()

일치한 영역을 Region 객체로 반환합니다.

설명

getRegion() 메서드는 일치 항목이 발견된 사각형 영역을 나타내는 Region 객체를 반환합니다. 이 영역에는 왼쪽 상단 모서리의 위치(X, Y)와 일치한 영역의 크기(너비, 높이)가 포함됩니다.

반환된 Region은 다음 용도로 사용할 수 있습니다.

  • 일치한 영역 내에서 추가 검색 수행
  • 일치한 영역만의 스크린샷 캡처
  • 다른 작업을 위한 하위 영역 정의
  • 더 빠른 반복 매칭을 위한 맞춤 검색 영역 구축

시그니처

getRegion(): Region

반환값

Region - 일치한 영역의 사각형 경계를 나타내는 Region 객체입니다.

예시

local result = Screen:find("container.png")
if result then
local region = result:getRegion()
toast("영역: X=" .. region:getX() .. ", Y=" .. region:getY())
toast("크기: " .. region:getWidth() .. "x" .. region:getHeight())
-- 더 빠른 매칭을 위해 일치한 영역 내에서 검색
local innerResult = region:find("container.png")
if innerResult then
toast("영역 내에서 container.png를 찾았습니다!")
end
end

Fit Region 기법

getRegion()은 흔히 fit region이라고 부르는 중요한 최적화 패턴의 핵심 메서드입니다.

이 패턴은 다음과 같습니다.

  1. Screen에서 안정적인 객체 찾기
  2. MatchResult에서 getRegion() 호출
  3. 동일한 객체 내에서 반복 검색에 해당 영역 재사용
local panel = Screen:find("reward-panel.jpg")
if panel then
local fitRegion = panel:getRegion()

-- 전체 화면 대신 맞춤 패널 내부에서만 검색
local claim = fitRegion:find("claim-button.jpg")
if claim then
fitRegion:click("claim-button.jpg")
end
end

이 기법은 일치한 객체가 항상 거의 동일한 크기를 가질 때 가장 잘 작동합니다. 동일한 컨테이너 내의 모든 단계에 대해 전체 화면 검색을 반복하지 않아도 되므로 처리 비용을 크게 줄일 수 있습니다.