화면 유지 (screen.keep)
선언
screen.keep()
설명
스크립트에서 현재 화면 내용을 버퍼에 유지합니다. 색상 가져오기, 색상 찾기, 화면 캡처, 이미지 찾기 등의 함수를 여러 번 호출하면 실제 화면에서 이미지를 새로 가져오지 않고 유지된 버퍼의 내용을 사용하여 이미지 및 색상 판별 성능을 높입니다.
이 함수는 최적화 함수로, 많은 정적 이미지 처리 함수의 성능을 개선할 수 있습니다.
호출하면 XXTouch 화면 캡처 및 색상 추출 함수의 데이터 소스만 바뀌며 실제 화면이 멈추는 것은 아닙니다.
예제
-- 6144개 지점의 색상을 반복해서 가져와 로그로 출력합니다.
t = {}
screen.keep()
for k = 1, 640, 10 do
for j = 1, 960, 10 do
-- 십육진수 텍스트로 형식을 지정합니다.
t[#t + 1] = string.format("%X", screen.get_color(k, j))
end
end
screen.unkeep()
nLog(t)
참고: 위 코드에서는 이 장에서 다루지 않는 함수 nLog를 사용했습니다.
알아두기
- 같은 위치에서
screen.get_color를 두 줄 연속으로 각각 호출하면 서로 다른 값을 가져올 수 있습니다.screen.keep을 사용하지 않을 때screen.get_color를 한 번 호출하는 데 걸리는 시간은screen.keep을 한 번 호출하는 시간과 거의 같습니다.screen.keep을 호출한 뒤screen.get_color를 50회 연속 호출하는 데 걸리는 시간은screen.keep을 한 번 호출하는 시간과 거의 같습니다.