メインコンテンツまでスキップ

画面を保持 (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 を呼び出す所要時間とほぼ同じです