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이라고 부르는 중요한 최적화 패턴의 핵심 메서드입니다.
이 패턴은 다음과 같습니다.
Screen에서 안정적인 객체 찾기MatchResult에서getRegion()호출- 동일한 객체 내에서 반복 검색에 해당 영역 재사용
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
이 기법은 일치한 객체가 항상 거의 동일한 크기를 가질 때 가장 잘 작동합니다. 동일한 컨테이너 내의 모든 단계에 대해 전체 화면 검색을 반복하지 않아도 되므로 처리 비용을 크게 줄일 수 있습니다.