Runtime v2.81 · Diperbarui 30 Sep 2026

Region

A rectangular region on the screen, measured in pixels on the current screen axes.

Sintaks

Region(x, y, width, height, /, scale="fixed", anchor="none", scale_param=ScaleParam())

Parameter konstruktor

NamaDeskripsi
xNumber
Top-left X coordinate
Wajib · Hanya posisi
Tanpa nilai bawaan
yNumber
Top-left Y coordinate
Wajib · Hanya posisi
Tanpa nilai bawaan
widthNumber
Region width
Wajib · Hanya posisi
Tanpa nilai bawaan
heightNumber
Region height
Wajib · Hanya posisi
Tanpa nilai bawaan
scaleString
**Applies to region coordinates**. Optional full-screen scale mode on the current X/Y axes. Values: "fixed", "auto", "width", "height".
Opsional · Posisi atau nama
Default: fixed
anchorString
**Applies to region coordinates**. Optional anchor mode. Values: none, center, top, bottom, left, right, top_left, top_right, bottom_left, bottom_right, auto.
Opsional · Posisi atau nama
Default: none
scale_paramScaleParam
**Applies to templates**. Template matching scale parameters.
Opsional · Posisi atau nama
Default: ScaleParam()

Nilai yang dikembalikan

Region

Perilaku / efek samping

A rectangular region on the screen, measured in pixels on the current screen axes. Scale/anchor control coordinate mapping across full-screen sizes without rotating through portrait coordinates or using the app viewport; runtime consumers clip the final region to the current screen after mapping and offsets. ScaleParam controls template matching inside this region. Region can be destructured as x, y, width, height.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Membuat atau menghitung geometri di alur pemanggil tanpa capture atau pengenalan. Simpan builder Region terpisah per alur.

Contoh

region = Region(100, 200, 300, 400)
hit = region.find("img", 3000, threshold=0.8, rate=3.0)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Tidak ada

Field

NamaDeskripsi
xNumber
Top-left horizontal coordinate.
yNumber
Top-left vertical coordinate.
widthNumber
Region width in pixels.
heightNumber
Region height in pixels.
scaleString
**Applies to region coordinates**. Coordinate scale mode using full-screen dimensions on the current X/Y axes, without app viewport scaling or portrait rotation. Values: "fixed" keeps saved pixels unchanged; "auto" scales X by width and Y by height; "width" scales both axes by screen width; "height" scales both axes by screen height.
Default: fixed
anchorString
**Applies to region coordinates**. Coordinate anchor. Values: none, center, top, bottom, left, right, top_left, top_right, bottom_left, bottom_right, auto.
Default: none
scale_paramScaleParam
**Applies to templates**. Template matching scale parameters used by find/wait methods on this region.
Default: ScaleParam()
middle_pointPoint
Center point of this region.
Contoh field
search_area = Region(120, 240, 360, 420)
left = search_area.x
top = search_area.y
w = search_area.width
h = search_area.height
scale = search_area.scale
anchor = search_area.anchor
search_area.x = 300
search_area.scale_param = ScaleParam(auto_scale=True, template_scale="LONG_EDGE")
center = search_area.middle_point

# Bongkar Region menjadi x, y, width, height
x, y, width, height = search_area
Contoh konstruktor
search_region = Region(120, 240, 360, 420)
fixed_center = Region(120, 240, 360, 420, "fixed", "center")
left_lane = Region(120, 240, 360, 420, scale="width", anchor="left", scale_param=ScaleParam(auto_scale=True, template_scale="LONG_EDGE"))

Metode

25 metode

Region.highlighted

Dapatkan semua wilayah yang saat ini disorot berdasarkan contoh skrip.

Sintaks

Region.highlighted()

Parameter

Tidak ada

Nilai yang dikembalikan

list[Region] — daftar wilayah aktif yang disorot.

Perilaku / efek samping

Dapatkan semua wilayah yang saat ini disorot berdasarkan contoh skrip.

Eksekusi

  • Menunggu selesai: Bersyarat
  • Keamanan akses bersamaan: Tidak dijamin
  • Eksekusi paralel: Bersyarat

Biaya pemrosesan dan waktu tunggu bergantung pada operasi yang didokumentasikan. Simpan nilai yang dapat berubah dalam alur pemiliknya; berbagi objek sembarang antaralur tidak dijamin aman.

Contoh

active_regions = Region.highlighted()
for area in active_regions:
    area.highlight("yellow", auto_hide_ms=500)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.full_screen

Kembalikan wilayah layar penuh saat ini.

Sintaks

Region.full_screen()

Parameter

Tidak ada

Nilai yang dikembalikan

Region — Wilayah seukuran layar dari host runtime.

Perilaku / efek samping

Kembalikan wilayah layar penuh saat ini.

Eksekusi

  • Menunggu selesai: Bersyarat
  • Keamanan akses bersamaan: Tidak dijamin
  • Eksekusi paralel: Bersyarat

Biaya pemrosesan dan waktu tunggu bergantung pada operasi yang didokumentasikan. Simpan nilai yang dapat berubah dalam alur pemiliknya; berbagi objek sembarang antaralur tidak dijamin aman.

Contoh

scan = Region.full_screen()
hit = scan.find("ok", 2000)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.highlight_off

Matikan semua sorotan wilayah aktif.

Sintaks

Region.highlight_off()

Parameter

Tidak ada

Nilai yang dikembalikan

None — Tidak ada nilai.

Perilaku / efek samping

Matikan semua sorotan wilayah aktif.

Eksekusi

  • Menunggu selesai: Bersyarat
  • Keamanan akses bersamaan: Tidak dijamin
  • Eksekusi paralel: Bersyarat

Biaya pemrosesan dan waktu tunggu bergantung pada operasi yang didokumentasikan. Simpan nilai yang dapat berubah dalam alur pemiliknya; berbagi objek sembarang antaralur tidak dijamin aman.

Contoh

scan = Region(120, 260, 280, 160)
scan.highlight("green")
wait(1000)
Region.highlight_off()

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.macro_width

Return the screen width of the device that created this macro, adapted to current screen orientation, when available.

Sintaks

Region.macro_width()

Parameter

Tidak ada

Nilai yang dikembalikan

Number? — Lebar layar sumber makro, atau Tidak Ada bila tidak tersedia.

Perilaku / efek samping

Return the screen width of the device that created this macro, adapted to current screen orientation, when available.

Eksekusi

  • Menunggu selesai: Bersyarat
  • Keamanan akses bersamaan: Tidak dijamin
  • Eksekusi paralel: Bersyarat

Biaya pemrosesan dan waktu tunggu bergantung pada operasi yang didokumentasikan. Simpan nilai yang dapat berubah dalam alur pemiliknya; berbagi objek sembarang antaralur tidak dijamin aman.

Contoh

macro_w = Region.macro_width()

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.macro_height

Return the screen height of the device that created this macro, adapted to current screen orientation, when available.

Sintaks

Region.macro_height()

Parameter

Tidak ada

Nilai yang dikembalikan

Number? — Tinggi layar sumber makro, atau Tidak Ada bila tidak tersedia.

Perilaku / efek samping

Return the screen height of the device that created this macro, adapted to current screen orientation, when available.

Eksekusi

  • Menunggu selesai: Bersyarat
  • Keamanan akses bersamaan: Tidak dijamin
  • Eksekusi paralel: Bersyarat

Biaya pemrosesan dan waktu tunggu bergantung pada operasi yang didokumentasikan. Simpan nilai yang dapat berubah dalam alur pemiliknya; berbagi objek sembarang antaralur tidak dijamin aman.

Contoh

macro_h = Region.macro_height()

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.find

Pindai area ini hingga satu kecocokan templat ditemukan atau waktu habis.

Sintaks

region.find(template, timeout=0, threshold=0.7, rate=3.0)

Parameter

NamaDeskripsi
templateString | Template
Template name, relative folder path, or a Template object in current macro.
Wajib · Posisi atau nama
Tanpa nilai bawaan
timeoutNumber
Maximum wait time in milliseconds. Omit this argument to scan only once.
Opsional · Posisi atau nama
Default: 0
thresholdNumber
Match threshold from 0.0 to 1.0.
Opsional · Posisi atau nama
Default: 0.7
rateNumber
Scan attempts per second (1-60).
Opsional · Posisi atau nama
Default: 3.0

Nilai yang dikembalikan

Match — Pencocokan pertama yang berhasil, atau ditemukan=salah ketika waktu habis.

Perilaku / efek samping

Pindai area ini hingga satu kecocokan templat ditemukan atau waktu habis. Jika timeout dihilangkan, hanya satu pemindaian dilakukan. Gunakan ScreenCapture.cache_on() untuk memeriksa beberapa gambar dalam satu frame yang disematkan, lalu cache_off() untuk melepaskannya. Untuk pengenalan berulang dengan frame terbaru yang tersedia, gunakan juga ScreenCapture.auto_cache_off(); jika tidak, cache otomatis menggunakan kembali frame hingga 100 ms. Menonaktifkannya menambah beban pengambilan gambar dan tidak menjamin eksekusi lebih cepat.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Terbatas
  • Eksekusi paralel: Bersyarat

Pengenalan berjalan pada alur pemanggil dan memakai capture bersama. find mencari kemunculan; wait menunggu hilangnya target. Satu pemindaian tetap membutuhkan waktu capture dan pengenalan; timeout atau laju polling tidak membuatnya asinkron.

Contoh

region = Region(80, 220, 420, 520)
hit = region.find("ok", 4000, 0.8, 4.0)
MacroPanel.notify(str(hit))

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.find_multi

Pindai di dalam wilayah ini dan kembalikan semua kecocokan untuk satu templat ketika setidaknya satu templat ditemukan.

Sintaks

region.find_multi(template, timeout=0, threshold=0.7, rate=3.0)

Parameter

NamaDeskripsi
templateString | Template
Template name, relative folder path, or a Template object in current macro.
Wajib · Posisi atau nama
Tanpa nilai bawaan
timeoutNumber
Maximum wait time in milliseconds. Omit this argument to scan only once.
Opsional · Posisi atau nama
Default: 0
thresholdNumber
Match threshold from 0.0 to 1.0.
Opsional · Posisi atau nama
Default: 0.7
rateNumber
Scan attempts per second (1-60).
Opsional · Posisi atau nama
Default: 3.0

Nilai yang dikembalikan

MatchList — Semua cocok untuk templat, atau daftar kosong saat batas waktu habis.

Perilaku / efek samping

Pindai di dalam wilayah ini dan kembalikan semua kecocokan untuk satu templat ketika setidaknya satu templat ditemukan. Jika batas waktu dihilangkan, hanya satu pemindaian yang dilakukan.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Terbatas
  • Eksekusi paralel: Bersyarat

Pengenalan berjalan pada alur pemanggil dan memakai capture bersama. find mencari kemunculan; wait menunggu hilangnya target. Satu pemindaian tetap membutuhkan waktu capture dan pengenalan; timeout atau laju polling tidak membuatnya asinkron.

Contoh

region = Region(80, 220, 420, 520)
matches = region.find_multi("enemy", 3000)
MacroPanel.notify(str(matches))

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.find_any

Pindai wilayah ini dan kembalikan ketika templat apa pun dalam daftar ditemukan.

Sintaks

region.find_any(templates, timeout=0, threshold=0.7, rate=3.0)

Parameter

NamaDeskripsi
templateslist[String | Template]
Template names or Template objects.
Wajib · Posisi atau nama
Tanpa nilai bawaan
timeoutNumber
Maximum wait time in milliseconds. Omit this argument to scan only once.
Opsional · Posisi atau nama
Default: 0
thresholdNumber
Match threshold from 0.0 to 1.0.
Opsional · Posisi atau nama
Default: 0.7
rateNumber
Scan attempts per second (1-60).
Opsional · Posisi atau nama
Default: 3.0

Nilai yang dikembalikan

MatchList — Hasil pencocokan batch ketika templat apa pun ditemukan, atau daftar kosong saat batas waktu habis.

Perilaku / efek samping

Pindai wilayah ini dan kembalikan ketika templat apa pun dalam daftar ditemukan. Jika batas waktu dihilangkan, hanya satu pemindaian yang dilakukan.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Terbatas
  • Eksekusi paralel: Bersyarat

Pengenalan berjalan pada alur pemanggil dan memakai capture bersama. find mencari kemunculan; wait menunggu hilangnya target. Satu pemindaian tetap membutuhkan waktu capture dan pengenalan; timeout atau laju polling tidak membuatnya asinkron.

Contoh

region = Region(80, 220, 420, 520)
matches = region.find_any(["enemy_a", "enemy_b"], 2500)
MacroPanel.notify(str(matches))

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.find_all

Pindai wilayah ini dan kembalikan hanya ketika setiap templat dalam daftar ditemukan.

Sintaks

region.find_all(templates, timeout=0, threshold=0.7, rate=3.0)

Parameter

NamaDeskripsi
templateslist[String | Template]
Template names or Template objects.
Wajib · Posisi atau nama
Tanpa nilai bawaan
timeoutNumber
Maximum wait time in milliseconds. Omit this argument to scan only once.
Opsional · Posisi atau nama
Default: 0
thresholdNumber
Match threshold from 0.0 to 1.0.
Opsional · Posisi atau nama
Default: 0.7
rateNumber
Scan attempts per second (1-60).
Opsional · Posisi atau nama
Default: 3.0

Nilai yang dikembalikan

MatchList — Hasil pencocokan batch ketika semua templat ditemukan, atau daftar kosong saat waktu habis.

Perilaku / efek samping

Pindai wilayah ini dan kembalikan hanya ketika setiap templat dalam daftar ditemukan. Jika batas waktu dihilangkan, hanya satu pemindaian yang dilakukan.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Terbatas
  • Eksekusi paralel: Bersyarat

Pengenalan berjalan pada alur pemanggil dan memakai capture bersama. find mencari kemunculan; wait menunggu hilangnya target. Satu pemindaian tetap membutuhkan waktu capture dan pengenalan; timeout atau laju polling tidak membuatnya asinkron.

Contoh

region = Region(80, 220, 420, 520)
matches = region.find_all(["hp", "mp"], 5000)
MacroPanel.notify(str(matches))

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.find_color

Pindai wilayah ini untuk mencari satu warna target menggunakan aturan toleransi RGB bingkai mentah yang sama seperti pengenalan warna UI.

Sintaks

region.find_color(color, timeout=0, tolerance=0, rate=3, interval=10)

Parameter

NamaDeskripsi
colorColor | String | Number
Target color.
Wajib · Posisi atau nama
Tanpa nilai bawaan
timeoutNumber
Maximum wait time in milliseconds. 0 performs one scan pass.
Opsional · Posisi atau nama
Default: 0
toleranceNumber
Allowed per-channel RGB delta from 0 to 255.
Opsional · Posisi atau nama
Default: 0
rateNumber
Scan attempts per second while waiting.
Opsional · Posisi atau nama
Default: 3
intervalNumber
Sampling step in pixels.
Opsional · Posisi atau nama
Default: 10

Nilai yang dikembalikan

Match — Cocokkan dengan titik sebagai daftar[Titik]; find_color mengembalikan paling banyak satu poin.

Perilaku / efek samping

Pindai wilayah ini untuk mencari satu warna target menggunakan aturan toleransi RGB bingkai mentah yang sama seperti pengenalan warna UI. Titik terbaik dipilih berdasarkan delta saluran RGB maks terkecil.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Terbatas
  • Eksekusi paralel: Bersyarat

Pengenalan berjalan pada alur pemanggil dan memakai capture bersama. find mencari kemunculan; wait menunggu hilangnya target. Satu pemindaian tetap membutuhkan waktu capture dan pengenalan; timeout atau laju polling tidak membuatnya asinkron.

Contoh

scan = Region(80, 220, 420, 520)
hit = scan.find_color("#FF4CAF50", tolerance=8, interval=4)
if hit.found:
    click(hit.point[0], random=0)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.find_any_color

Pindai wilayah ini untuk melihat beberapa warna target.

Sintaks

region.find_any_color(colors, timeout=0, tolerance=0, rate=3, interval=10)

Parameter

NamaDeskripsi
colorslist[Color | String | Number] | tuple[Color | String | Number]
Target colors.
Wajib · Posisi atau nama
Tanpa nilai bawaan
timeoutNumber
Maximum wait time in milliseconds. 0 performs one scan pass.
Opsional · Posisi atau nama
Default: 0
toleranceNumber
Allowed per-channel RGB delta from 0 to 255.
Opsional · Posisi atau nama
Default: 0
rateNumber
Scan attempts per second while waiting.
Opsional · Posisi atau nama
Default: 3
intervalNumber
Sampling step in pixels.
Opsional · Posisi atau nama
Default: 10

Nilai yang dikembalikan

Match — Cocokkan dengan titik sebagai daftar[Titik]; satu titik terbaik per warna masukan yang ditemukan.

Perilaku / efek samping

Pindai wilayah ini untuk melihat beberapa warna target. Setiap warna masukan menyumbang paling banyak satu titik terbaik, diurutkan berdasarkan daftar warna masukan.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Terbatas
  • Eksekusi paralel: Bersyarat

Pengenalan berjalan pada alur pemanggil dan memakai capture bersama. find mencari kemunculan; wait menunggu hilangnya target. Satu pemindaian tetap membutuhkan waktu capture dan pengenalan; timeout atau laju polling tidak membuatnya asinkron.

Contoh

colors = ["#FF0000", "#00FF00", "#0000FF"]
hit = Region.full_screen().find_any_color(colors, tolerance=6)
if hit.found:
    click(hit, random=0)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.find_multi_color

Pindai wilayah ini untuk melihat beberapa posisi sampel dengan satu warna target.

Sintaks

region.find_multi_color(color, timeout=0, tolerance=0, rate=3, interval=10)

Parameter

NamaDeskripsi
colorColor | String | Number
Single target color.
Wajib · Posisi atau nama
Tanpa nilai bawaan
timeoutNumber
Maximum wait time in milliseconds. 0 performs one scan pass.
Opsional · Posisi atau nama
Default: 0
toleranceNumber
Allowed per-channel RGB delta from 0 to 255.
Opsional · Posisi atau nama
Default: 0
rateNumber
Scan attempts per second while waiting.
Opsional · Posisi atau nama
Default: 3
intervalNumber
Sampling step in pixels.
Opsional · Posisi atau nama
Default: 10

Nilai yang dikembalikan

Match — Cocokkan dengan titik sebagai daftar[Titik]; titik sampel yang cocok diurutkan terlebih dahulu dengan warna yang paling mendekati.

Perilaku / efek samping

Pindai wilayah ini untuk melihat beberapa posisi sampel dengan satu warna target. Melewati daftar atau tuple ditolak sehingga ini tidak menjadi pencarian warna multi-target secara diam-diam.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Terbatas
  • Eksekusi paralel: Bersyarat

Pengenalan berjalan pada alur pemanggil dan memakai capture bersama. find mencari kemunculan; wait menunggu hilangnya target. Satu pemindaian tetap membutuhkan waktu capture dan pengenalan; timeout atau laju polling tidak membuatnya asinkron.

Contoh

hit = Region(80, 220, 420, 520).find_multi_color("red", tolerance=4, interval=3)
if hit.found:
    first = hit.point[0]
    hit.highlight(color="yellow", auto_hide_ms=800)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.wait

Tunggu hingga template menghilang dari wilayah ini.

Sintaks

region.wait(template, timeout=0, threshold=0.7, rate=3.0)

Parameter

NamaDeskripsi
templateString | Template
Template name, relative folder path, or a Template object in current macro.
Wajib · Posisi atau nama
Tanpa nilai bawaan
timeoutNumber
Maximum wait time in milliseconds. Omit this argument to scan only once.
Opsional · Posisi atau nama
Default: 0
thresholdNumber
Match threshold from 0.0 to 1.0.
Opsional · Posisi atau nama
Default: 0.7
rateNumber
Scan attempts per second (1-60).
Opsional · Posisi atau nama
Default: 3.0

Nilai yang dikembalikan

Match — Status kecocokan terakhir saat template hilang atau batas waktu tercapai.

Perilaku / efek samping

Tunggu hingga template menghilang dari wilayah ini. Jika batas waktu dihilangkan, hanya satu pemindaian yang dilakukan.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Terbatas
  • Eksekusi paralel: Bersyarat

Pengenalan berjalan pada alur pemanggil dan memakai capture bersama. find mencari kemunculan; wait menunggu hilangnya target. Satu pemindaian tetap membutuhkan waktu capture dan pengenalan; timeout atau laju polling tidak membuatnya asinkron.

Contoh

region = Region(0, 0, 1080, 2400)
result = region.wait("loading", 8000)
MacroPanel.notify(str(result))

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.wait_any

Tunggu hingga templat apa pun dalam daftar hilang dari wilayah ini.

Sintaks

region.wait_any(templates, timeout=0, threshold=0.7, rate=3.0)

Parameter

NamaDeskripsi
templateslist[String | Template]
Template names or Template objects.
Wajib · Posisi atau nama
Tanpa nilai bawaan
timeoutNumber
Maximum wait time in milliseconds. Omit this argument to scan only once.
Opsional · Posisi atau nama
Default: 0
thresholdNumber
Match threshold from 0.0 to 1.0.
Opsional · Posisi atau nama
Default: 0.7
rateNumber
Scan attempts per second (1-60).
Opsional · Posisi atau nama
Default: 3.0

Nilai yang dikembalikan

MatchList — Pencocokan batch menyatakan ketika setidaknya satu templat tidak lagi ditemukan.

Perilaku / efek samping

Tunggu hingga templat apa pun dalam daftar hilang dari wilayah ini. Jika batas waktu dihilangkan, hanya satu pemindaian yang dilakukan.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Terbatas
  • Eksekusi paralel: Bersyarat

Pengenalan berjalan pada alur pemanggil dan memakai capture bersama. find mencari kemunculan; wait menunggu hilangnya target. Satu pemindaian tetap membutuhkan waktu capture dan pengenalan; timeout atau laju polling tidak membuatnya asinkron.

Contoh

watch = ["loading", "syncing"]
result = region.wait_any(watch, 10000)
MacroPanel.notify(str(result))

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.wait_all

Tunggu hingga semua templat dalam daftar hilang dari wilayah ini.

Sintaks

region.wait_all(templates, timeout=0, threshold=0.7, rate=3.0)

Parameter

NamaDeskripsi
templateslist[String | Template]
Template names or Template objects.
Wajib · Posisi atau nama
Tanpa nilai bawaan
timeoutNumber
Maximum wait time in milliseconds. Omit this argument to scan only once.
Opsional · Posisi atau nama
Default: 0
thresholdNumber
Match threshold from 0.0 to 1.0.
Opsional · Posisi atau nama
Default: 0.7
rateNumber
Scan attempts per second (1-60).
Opsional · Posisi atau nama
Default: 3.0

Nilai yang dikembalikan

MatchList — Pencocokan batch menyatakan ketika semua templat tidak lagi ditemukan.

Perilaku / efek samping

Tunggu hingga semua templat dalam daftar hilang dari wilayah ini. Jika batas waktu dihilangkan, hanya satu pemindaian yang dilakukan.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Terbatas
  • Eksekusi paralel: Bersyarat

Pengenalan berjalan pada alur pemanggil dan memakai capture bersama. find mencari kemunculan; wait menunggu hilangnya target. Satu pemindaian tetap membutuhkan waktu capture dan pengenalan; timeout atau laju polling tidak membuatnya asinkron.

Contoh

watch = ["loading", "syncing"]
result = region.wait_all(watch, 10000)
MacroPanel.notify(str(result))

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.capture

Tangkap layar dan pangkas wilayah ini, lalu kembalikan hasilnya sebagai Templat.

Sintaks

region.capture(name=None)

Parameter

NamaDeskripsi
nameString?
Optional template name to save into current macro immediately.
Opsional · Posisi atau nama
Default: None

Nilai yang dikembalikan

Template — Objek templat yang diambil.

Perilaku / efek samping

Tangkap layar dan pangkas wilayah ini, lalu kembalikan hasilnya sebagai Templat.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Terbatas
  • Eksekusi paralel: Bersyarat

Pengenalan berjalan pada alur pemanggil dan memakai capture bersama. find mencari kemunculan; wait menunggu hilangnya target. Satu pemindaian tetap membutuhkan waktu capture dan pengenalan; timeout atau laju polling tidak membuatnya asinkron.

Contoh

sample = Region(120, 280, 220, 120).capture()
saved = sample.save_as("buttons/top/enemy_slot")

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.left

Kecilkan wilayah ini ke arah sisi kiri.

Sintaks

region.left(value=0.5)

Parameter

NamaDeskripsi
valueNumber
Shrink amount: 0 -> 1 means ratio of current width, >1 means pixels.
Opsional · Posisi atau nama
Default: 0.5

Nilai yang dikembalikan

Region — Wilayah baru menyempit dari tepi kanan.

Perilaku / efek samping

Kecilkan wilayah ini ke arah sisi kiri. Tepi kanan bergerak ke kiri sesuai jumlah yang diminta.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Membuat atau menghitung geometri di alur pemanggil tanpa capture atau pengenalan. Simpan builder Region terpisah per alur.

Contoh

full = Region(100, 200, 1000, 500)
left_focus = full.left(0.4)
left_focus_px = full.left(400)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.right

Kecilkan wilayah ini ke arah sisi kanan.

Sintaks

region.right(value=0.5)

Parameter

NamaDeskripsi
valueNumber
Shrink amount: 0 -> 1 means ratio of current width, >1 means pixels.
Opsional · Posisi atau nama
Default: 0.5

Nilai yang dikembalikan

Region — Wilayah baru menyempit dari tepi kiri.

Perilaku / efek samping

Kecilkan wilayah ini ke arah sisi kanan. Tepi kiri bergerak ke kanan sesuai jumlah yang diminta.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Membuat atau menghitung geometri di alur pemanggil tanpa capture atau pengenalan. Simpan builder Region terpisah per alur.

Contoh

full = Region(100, 200, 1000, 500)
right_focus = full.right(0.3)
right_focus_px = full.right(240)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.top

Kecilkan wilayah ini ke arah sisi atas.

Sintaks

region.top(value=0.5)

Parameter

NamaDeskripsi
valueNumber
Shrink amount: 0 -> 1 means ratio of current height, >1 means pixels.
Opsional · Posisi atau nama
Default: 0.5

Nilai yang dikembalikan

Region — Wilayah baru menyempit dari tepi bawah.

Perilaku / efek samping

Kecilkan wilayah ini ke arah sisi atas. Tepi bawah bergerak ke atas sesuai jumlah yang diminta.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Membuat atau menghitung geometri di alur pemanggil tanpa capture atau pengenalan. Simpan builder Region terpisah per alur.

Contoh

full = Region(100, 200, 1000, 500)
top_focus = full.top(0.25)
top_focus_px = full.top(120)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.bottom

Kecilkan wilayah ini ke sisi bawah.

Sintaks

region.bottom(value=0.5)

Parameter

NamaDeskripsi
valueNumber
Shrink amount: 0 -> 1 means ratio of current height, >1 means pixels.
Opsional · Posisi atau nama
Default: 0.5

Nilai yang dikembalikan

Region — Wilayah baru menyempit dari tepi atas.

Perilaku / efek samping

Kecilkan wilayah ini ke sisi bawah. Tepi atas bergerak ke bawah sesuai jumlah yang diminta.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Membuat atau menghitung geometri di alur pemanggil tanpa capture atau pengenalan. Simpan builder Region terpisah per alur.

Contoh

full = Region(100, 200, 1000, 500)
bottom_focus = full.bottom(0.25)
bottom_focus_px = full.bottom(120)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.horizontal

Kecilkan secara horizontal ke arah tengah dengan menggerakkan tepi kiri dan kanan ke dalam.

Sintaks

region.horizontal(value=0.5)

Parameter

NamaDeskripsi
valueNumber
Total horizontal shrink: 0 -> 1 means ratio of current width, >1 means pixels.
Opsional · Posisi atau nama
Default: 0.5

Nilai yang dikembalikan

Region — Wilayah terpusat dengan lebar yang dikurangi.

Perilaku / efek samping

Kecilkan secara horizontal ke arah tengah dengan menggerakkan tepi kiri dan kanan ke dalam.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Membuat atau menghitung geometri di alur pemanggil tanpa capture atau pengenalan. Simpan builder Region terpisah per alur.

Contoh

full = Region(100, 200, 1000, 500)
center_lane = full.horizontal(0.5)
center_lane_px = full.horizontal(300)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.vertical

Kecilkan secara vertikal ke arah tengah dengan menggerakkan tepi atas dan bawah ke dalam.

Sintaks

region.vertical(value=0.5)

Parameter

NamaDeskripsi
valueNumber
Total vertical shrink: 0 -> 1 means ratio of current height, >1 means pixels.
Opsional · Posisi atau nama
Default: 0.5

Nilai yang dikembalikan

Region — Wilayah terpusat dengan ketinggian berkurang.

Perilaku / efek samping

Kecilkan secara vertikal ke arah tengah dengan menggerakkan tepi atas dan bawah ke dalam.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Membuat atau menghitung geometri di alur pemanggil tanpa capture atau pengenalan. Simpan builder Region terpisah per alur.

Contoh

full = Region(100, 200, 1000, 500)
center_band = full.vertical(0.5)
center_band_px = full.vertical(200)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.middle

Kecilkan lebar dan tinggi ke arah tengah.

Sintaks

region.middle(value=0.5)

Parameter

NamaDeskripsi
valueNumber
Shrink amount for both axes: 0 -> 1 means ratio per axis, >1 means pixels per axis.
Opsional · Posisi atau nama
Default: 0.5

Nilai yang dikembalikan

Region — Wilayah terpusat tereduksi pada kedua sumbu.

Perilaku / efek samping

Kecilkan lebar dan tinggi ke arah tengah.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Membuat atau menghitung geometri di alur pemanggil tanpa capture atau pengenalan. Simpan builder Region terpisah per alur.

Contoh

full = Region(100, 200, 1000, 500)
focus = full.middle(0.4)
focus_px = full.middle(160)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.highlight

Gambarlah persegi panjang yang disorot untuk wilayah ini.

Sintaks

region.highlight(color="green", line_width=2, auto_hide_ms=0, movable=False)

Parameter

NamaDeskripsi
colorColor | String | Number
Highlight color.
Opsional · Posisi atau nama
Default: green
line_widthNumber
Stroke thickness in dp.
Opsional · Posisi atau nama
Default: 2
auto_hide_msNumber
Auto-hide after N milliseconds. 0 disables auto-hide.
Opsional · Posisi atau nama
Default: 0
movableBoolean
Allow dragging the highlighted region and write the moved coordinates back into this Region.
Opsional · Posisi atau nama
Default: False

Nilai yang dikembalikan

Region — Mengembalikan wilayah yang sama setelah menyorot gambar.

Perilaku / efek samping

Gambarlah persegi panjang yang disorot untuk wilayah ini. Dengan movable=True, pengguna dapat menyeret wilayah dan objek Wilayah yang sama menerima koordinat layar yang diperbarui. Menyorot ulang contoh wilayah yang sama akan menggantikan contoh wilayah sebelumnya.

Eksekusi

  • Menunggu selesai: Bersyarat
  • Keamanan akses bersamaan: Tidak dijamin
  • Eksekusi paralel: Bersyarat

Biaya pemrosesan dan waktu tunggu bergantung pada operasi yang didokumentasikan. Simpan nilai yang dapat berubah dalam alur pemiliknya; berbagi objek sembarang antaralur tidak dijamin aman.

Contoh

scan = Region(120, 260, 280, 160)
scan.highlight("#FF00BCD4", line_width=3, auto_hide_ms=1500, movable=True)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Region.highlight_off

Matikan sorotan untuk contoh wilayah ini.

Sintaks

region.highlight_off()

Parameter

Tidak ada

Nilai yang dikembalikan

Region — Mengembalikan wilayah yang sama setelah mematikan sorotan.

Perilaku / efek samping

Matikan sorotan untuk contoh wilayah ini.

Eksekusi

  • Menunggu selesai: Bersyarat
  • Keamanan akses bersamaan: Tidak dijamin
  • Eksekusi paralel: Bersyarat

Biaya pemrosesan dan waktu tunggu bergantung pada operasi yang didokumentasikan. Simpan nilai yang dapat berubah dalam alur pemiliknya; berbagi objek sembarang antaralur tidak dijamin aman.

Contoh

scan = Region(120, 260, 280, 160)
scan.highlight("green")
wait(1000)
scan.highlight_off()

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait