Pular para o conteúdo principal

Manter a tela (screen.keep)

Declaração

screen.keep()

Observações

Mantém o conteúdo atual da tela em um buffer do script. Em chamadas sucessivas de funções para obter cores, encontrar cores, capturar a tela ou encontrar imagens, o conteúdo será obtido desse buffer, e não da tela real, melhorando o desempenho das verificações de imagem e cor.
Esta função é uma otimização que melhora o desempenho de muitas funções de processamento de imagens estáticas.
A chamada afeta somente a fonte de dados das funções de captura e obtenção de cores do XXTouch; não congela a imagem real da tela.

Exemplo

-- registra no log as cores de 6144 pontos em um loop
t = {}
screen.keep()
for k = 1, 640, 10 do
for j = 1, 960, 10 do
-- formata como texto hexadecimal
t[#t + 1] = string.format("%X", screen.get_color(k, j))
end
end
screen.unkeep()
nLog(t)

Observação: o código acima usa a função nLog, que não pertence a este capítulo.

Dica

  • Duas chamadas consecutivas e independentes de screen.get_color para a mesma posição podem retornar valores diferentes.
  • Sem usar screen.keep, uma chamada individual de screen.get_color leva aproximadamente o mesmo tempo que uma chamada de screen.keep.
  • Depois de chamar screen.keep, 50 chamadas consecutivas de screen.get_color levam aproximadamente o mesmo tempo que uma única chamada de screen.keep.