본문으로 건너뛰기

화면 유지 (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을 한 번 호출하는 시간과 거의 같습니다.