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_colorpara a mesma posição podem retornar valores diferentes.- Sem usar
screen.keep, uma chamada individual descreen.get_colorleva aproximadamente o mesmo tempo que uma chamada descreen.keep.- Depois de chamar
screen.keep, 50 chamadas consecutivas descreen.get_colorlevam aproximadamente o mesmo tempo que uma única chamada descreen.keep.