ScreenCapture

Atur apakah pengenalan layar memakai ulang gambar tangkapan selama proses makro ini. Biasanya gambar dapat dipakai ulang hingga 100 ms. Panggil metode langsung pada ScreenCapture; jangan buat objeknya.

Sintaks

ScreenCapture

Kelas ini tidak dapat dibuat langsung.

Nilai yang dikembalikan

—

Contoh

# Pakai ulang satu frame tangkapan untuk beberapa pemeriksaan layar
ScreenCapture.cache_on()
color = Color.get(Point(500, 900))
hit = Region.full_screen().find("enemy", timeout=0)
ScreenCapture.cache_off()

# Utamakan frame terbaru yang tersedia untuk pengenalan singkat
ScreenCapture.auto_cache_off(duration_ms=1000)
hit = Region.full_screen().find("enemy", timeout=800, rate=30)

# Nonaktifkan tanpa batas waktu, lalu aktifkan kembali cache otomatis
ScreenCapture.auto_cache_off()
hit = Region.full_screen().find("enemy", timeout=2000, rate=30)
ScreenCapture.auto_cache_on()

Metode

4 metode

ScreenCapture.cache_on

Simpan satu gambar layar untuk pemeriksaan berulang hingga cache_off() atau makro selesai. Gunakan gambar berikutnya yang tersedia, atau gambar valid terakhir jika belum ada yang baru. Ini diprioritaskan daripada pengaturan penggunaan ulang otomatis dan tidak meminta izin tangkapan layar.

Sintaks

ScreenCapture.cache_on()

Nilai yang dikembalikan

None — Tidak ada nilai kembalian.

Contoh

# Sematkan satu frame bersama untuk dua proses pengenalan
ScreenCapture.cache_on()
region = Region(100, 200, 300, 400)
first = region.find("start", 0)
second = region.find("confirm", 0)
ScreenCapture.cache_off()
print(first.found, second.found)

ScreenCapture.cache_off

Berhenti menyimpan gambar pilihan cache_on(). Pengaturan penggunaan ulang otomatis tidak berubah, sehingga gambar terbaru masih dapat dipakai ulang. Panggil juga auto_cache_off() jika setiap pemeriksaan membutuhkan gambar paling baru yang tersedia.

Sintaks

ScreenCapture.cache_off()

Nilai yang dikembalikan

None — Tidak ada nilai kembalian.

Contoh

# Lepas penyematan manual sebelum pemindaian berikutnya
ScreenCapture.cache_off()
region = Region(100, 200, 300, 400)
print(region.find("start", 0).found)

ScreenCapture.auto_cache_off

Matikan penggunaan ulang gambar otomatis agar permintaan tangkapan mencari gambar terbaru yang tersedia. Langsung kembali; durasi dimulai saat pemanggilan dan pemanggilan ulang menggantinya. Berlaku untuk bitmap, gambar mentah, TFLite, dan piksel. Ini bisa menambah pemrosesan serta penggunaan baterai tanpa mempercepat eksekusi atau memaksa Android menggambar piksel baru; waktu tunggu gambar tetap terbatas. Tidak membatalkan cache_on() atau meminta izin tangkapan.

Sintaks

ScreenCapture.auto_cache_off(duration_ms=None)

Parameter

NamaDeskripsi
duration_msNumber | None
Durasi dalam milidetik bulat positif (100 dan 100.0 valid). Abaikan atau gunakan None agar tetap mati hingga auto_cache_on() atau makro selesai. Nol, nilai negatif, pecahan, string, boolean, dan nilai melampaui batas menimbulkan kesalahan.
Opsional · Posisi atau nama
Default: None

Nilai yang dikembalikan

None — Tidak ada nilai kembalian.

Contoh

# Lewati cache otomatis sementara; penyematan manual adalah pengaturan terpisah
ScreenCapture.cache_off()
ScreenCapture.auto_cache_off(1000)
region = Region(100, 200, 300, 400)
print(region.find("start", 500).found)
ScreenCapture.auto_cache_on()

ScreenCapture.auto_cache_on

Izinkan penggunaan ulang gambar otomatis segera, membatalkan masa penonaktifan sebelumnya. Makro juga memulihkannya saat selesai. Ini tidak membatalkan cache_on(), meminta izin tangkapan, atau menunggu.

Sintaks

ScreenCapture.auto_cache_on()

Nilai yang dikembalikan

None — Tidak ada nilai kembalian.

Contoh

# Pulihkan penggunaan ulang frame otomatis seperti biasa
ScreenCapture.auto_cache_on()
region = Region(100, 200, 300, 400)
print(region.find("start", 0).found)