Runtime v2.81 · Cập nhật 30 thg 9, 2026

Region

Một vùng hình chữ nhật trên màn hình, đo bằng pixel theo trục màn hình hiện tại.

Cú pháp

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

Tham số khởi tạo

TênMô tả
xNumber
Tọa độ X góc trên trái
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
yNumber
Tọa độ Y góc trên trái
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
widthNumber
Chiều rộng vùng
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
heightNumber
Chiều cao vùng
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
scaleString
**Áp dụng cho toạ độ của region**. Chế độ scale toàn màn hình tùy chọn trên trục X/Y hiện tại. Giá trị: "fixed", "auto", "width", "height".
Tùy chọn · Theo vị trí hoặc tên
Mặc định: fixed
anchorString
**Áp dụng cho toạ độ của region**. Chế độ neo tùy chọn. Giá trị: none, center, top, bottom, left, right, top_left, top_right, bottom_left, bottom_right, auto.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: none
scale_paramScaleParam
**Áp dụng cho template**. Tham số scale template.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: ScaleParam()

Giá trị trả về

Region

Hành vi / tác động

Một vùng hình chữ nhật trên màn hình, đo bằng pixel theo trục màn hình hiện tại. Scale/anchor điều khiển cách quy đổi tọa độ theo kích thước toàn màn hình, không xoay qua hệ tọa độ portrait và không dùng app viewport; runtime sẽ clip region cuối vào màn hình hiện tại sau khi quy đổi và cộng offset. ScaleParam điều khiển nhận diện template trong region này. Region có thể bung giá trị thành x, y, width, height.

Thực thi

  • Chờ hoàn tất: Không
  • An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
  • Chạy song song: Có

Tạo hoặc suy hình học trong luồng gọi, không chụp hay nhận diện. Giữ builder Region có thể thay đổi riêng cho mỗi luồng.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Không có

Thuộc tính

TênMô tả
xNumber
Tọa độ ngang góc trên trái.
yNumber
Tọa độ dọc góc trên trái.
widthNumber
Chiều rộng vùng theo pixel.
heightNumber
Chiều cao vùng theo pixel.
scaleString
**Áp dụng cho toạ độ của region**. Chế độ scale tọa độ theo kích thước toàn màn hình trên trục X/Y hiện tại, không scale theo app viewport và không xoay qua portrait. Giá trị: "fixed" giữ nguyên pixel đã lưu; "auto" scale X theo tỉ lệ chiều rộng và Y theo tỉ lệ chiều cao; "width" scale cả hai trục theo chiều rộng màn hình; "height" scale cả hai trục theo chiều cao màn hình.
Mặc định: fixed
anchorString
**Áp dụng cho toạ độ của region**. Neo tọa độ. Giá trị: none, center, top, bottom, left, right, top_left, top_right, bottom_left, bottom_right, auto.
Mặc định: none
scale_paramScaleParam
**Áp dụng cho template**. Tham số scale template dùng bởi các hàm find/wait trên region này.
Mặc định: ScaleParam()
middle_pointPoint
Điểm chính giữa của region này.
Ví dụ đọc thuộc tính
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

# Bung Region thành x, y, width, height
x, y, width, height = search_area
Ví dụ khởi tạo
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"))

Phương thức

25 phương thức

Region.highlighted

Lấy tất cả region đang được highlight bởi các script instance.

Cú pháp

Region.highlighted()

Tham số

Không có

Giá trị trả về

list[Region] — Danh sách các region highlight đang còn hiệu lực.

Hành vi / tác động

Lấy tất cả region đang được highlight bởi các script instance.

Thực thi

  • Chờ hoàn tất: Tùy điều kiện
  • An toàn khi chạy đồng thời: Không bảo đảm
  • Chạy song song: Tùy điều kiện

Chi phí thực thi và thời gian chờ tùy thao tác được mô tả. Giữ giá trị có thể thay đổi trong luồng sở hữu; việc chia sẻ đối tượng tùy ý giữa các luồng không có bảo đảm an toàn chung.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.full_screen

Trả về region toàn màn hình hiện tại.

Cú pháp

Region.full_screen()

Tham số

Không có

Giá trị trả về

Region — Region theo kích thước màn hình từ runtime host.

Hành vi / tác động

Trả về region toàn màn hình hiện tại.

Thực thi

  • Chờ hoàn tất: Tùy điều kiện
  • An toàn khi chạy đồng thời: Không bảo đảm
  • Chạy song song: Tùy điều kiện

Chi phí thực thi và thời gian chờ tùy thao tác được mô tả. Giữ giá trị có thể thay đổi trong luồng sở hữu; việc chia sẻ đối tượng tùy ý giữa các luồng không có bảo đảm an toàn chung.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.highlight_off

Tắt toàn bộ region highlight đang hoạt động.

Cú pháp

Region.highlight_off()

Tham số

Không có

Giá trị trả về

None — Không trả về giá trị.

Hành vi / tác động

Tắt toàn bộ region highlight đang hoạt động.

Thực thi

  • Chờ hoàn tất: Tùy điều kiện
  • An toàn khi chạy đồng thời: Không bảo đảm
  • Chạy song song: Tùy điều kiện

Chi phí thực thi và thời gian chờ tùy thao tác được mô tả. Giữ giá trị có thể thay đổi trong luồng sở hữu; việc chia sẻ đối tượng tùy ý giữa các luồng không có bảo đảm an toàn chung.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.macro_width

Trả về chiều rộng màn hình của thiết bị đã tạo macro này theo hướng xoay màn hình hiện tại, nếu có.

Cú pháp

Region.macro_width()

Tham số

Không có

Giá trị trả về

Number? — Chiều rộng màn hình nguồn của macro, hoặc None nếu không có.

Hành vi / tác động

Trả về chiều rộng màn hình của thiết bị đã tạo macro này theo hướng xoay màn hình hiện tại, nếu có.

Thực thi

  • Chờ hoàn tất: Tùy điều kiện
  • An toàn khi chạy đồng thời: Không bảo đảm
  • Chạy song song: Tùy điều kiện

Chi phí thực thi và thời gian chờ tùy thao tác được mô tả. Giữ giá trị có thể thay đổi trong luồng sở hữu; việc chia sẻ đối tượng tùy ý giữa các luồng không có bảo đảm an toàn chung.

Ví dụ

macro_w = Region.macro_width()

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.macro_height

Trả về chiều cao màn hình của thiết bị đã tạo macro này theo hướng xoay màn hình hiện tại, nếu có.

Cú pháp

Region.macro_height()

Tham số

Không có

Giá trị trả về

Number? — Chiều cao màn hình nguồn của macro, hoặc None nếu không có.

Hành vi / tác động

Trả về chiều cao màn hình của thiết bị đã tạo macro này theo hướng xoay màn hình hiện tại, nếu có.

Thực thi

  • Chờ hoàn tất: Tùy điều kiện
  • An toàn khi chạy đồng thời: Không bảo đảm
  • Chạy song song: Tùy điều kiện

Chi phí thực thi và thời gian chờ tùy thao tác được mô tả. Giữ giá trị có thể thay đổi trong luồng sở hữu; việc chia sẻ đối tượng tùy ý giữa các luồng không có bảo đảm an toàn chung.

Ví dụ

macro_h = Region.macro_height()

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.find

Quét trong region này cho đến khi tìm được một kết quả khớp hoặc hết thời gian chờ.

Cú pháp

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

Tham số

TênMô tả
templateString | Template
Tên template, đường dẫn thư mục tương đối, hoặc đối tượng Template trong macro hiện tại.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
timeoutNumber
Thời gian chờ tối đa (milliseconds). Nếu bỏ qua tham số này thì chỉ quét một lần.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
thresholdNumber
Ngưỡng khớp từ 0.0 đến 1.0.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.7
rateNumber
Số lần quét mỗi giây (1-60).
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 3.0

Giá trị trả về

Match — Kết quả khớp đầu tiên thành công, hoặc found=false khi hết thời gian chờ.

Hành vi / tác động

Quét trong region này cho đến khi tìm được một kết quả khớp hoặc hết thời gian chờ. Nếu bỏ qua timeout, chỉ quét một lần. Dùng ScreenCapture.cache_on() để kiểm tra nhiều ảnh trên cùng frame được ghim, rồi cache_off() để bỏ ghim. Khi cần nhận diện liên tục với frame mới nhất hiện có, gọi thêm ScreenCapture.auto_cache_off(); nếu không, cache tự động vẫn dùng lại frame trong tối đa 100 ms. Tắt cache này làm tăng công việc chụp và không bảo đảm chạy nhanh hơn.

Thực thi

  • Chờ hoàn tất: Có
  • An toàn khi chạy đồng thời: Có giới hạn
  • Chạy song song: Tùy điều kiện

Nhận diện chạy trong luồng gọi và dùng chụp màn hình chung. find tìm sự xuất hiện; wait chờ biến mất. Một lần quét vẫn tốn thời gian chụp và nhận diện; timeout hay tốc độ kiểm tra không làm lời gọi bất đồng bộ.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.find_multi

Quét trong region này và trả về tất cả kết quả khớp cho một template khi tìm thấy ít nhất một kết quả.

Cú pháp

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

Tham số

TênMô tả
templateString | Template
Tên template, đường dẫn thư mục tương đối, hoặc đối tượng Template trong macro hiện tại.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
timeoutNumber
Thời gian chờ tối đa (milliseconds). Nếu bỏ qua tham số này thì chỉ quét một lần.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
thresholdNumber
Ngưỡng khớp từ 0.0 đến 1.0.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.7
rateNumber
Số lần quét mỗi giây (1-60).
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 3.0

Giá trị trả về

MatchList — Tất cả kết quả khớp cho template, hoặc danh sách rỗng khi hết thời gian chờ.

Hành vi / tác động

Quét trong region này và trả về tất cả kết quả khớp cho một template khi tìm thấy ít nhất một kết quả. Nếu bỏ qua timeout, hệ thống chỉ quét đúng một lần.

Thực thi

  • Chờ hoàn tất: Có
  • An toàn khi chạy đồng thời: Có giới hạn
  • Chạy song song: Tùy điều kiện

Nhận diện chạy trong luồng gọi và dùng chụp màn hình chung. find tìm sự xuất hiện; wait chờ biến mất. Một lần quét vẫn tốn thời gian chụp và nhận diện; timeout hay tốc độ kiểm tra không làm lời gọi bất đồng bộ.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.find_any

Quét region này và trả về khi bất kỳ template nào trong danh sách được tìm thấy.

Cú pháp

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

Tham số

TênMô tả
templateslist[String | Template]
Danh sách tên template hoặc đối tượng Template.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
timeoutNumber
Thời gian chờ tối đa (milliseconds). Nếu bỏ qua tham số này thì chỉ quét một lần.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
thresholdNumber
Ngưỡng khớp từ 0.0 đến 1.0.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.7
rateNumber
Số lần quét mỗi giây (1-60).
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 3.0

Giá trị trả về

MatchList — Kết quả batch khi tìm thấy ít nhất một template, hoặc danh sách rỗng khi hết thời gian chờ.

Hành vi / tác động

Quét region này và trả về khi bất kỳ template nào trong danh sách được tìm thấy. Nếu bỏ qua timeout, hệ thống chỉ quét đúng một lần.

Thực thi

  • Chờ hoàn tất: Có
  • An toàn khi chạy đồng thời: Có giới hạn
  • Chạy song song: Tùy điều kiện

Nhận diện chạy trong luồng gọi và dùng chụp màn hình chung. find tìm sự xuất hiện; wait chờ biến mất. Một lần quét vẫn tốn thời gian chụp và nhận diện; timeout hay tốc độ kiểm tra không làm lời gọi bất đồng bộ.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.find_all

Quét region này và chỉ trả về khi toàn bộ template trong danh sách đều được tìm thấy.

Cú pháp

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

Tham số

TênMô tả
templateslist[String | Template]
Danh sách tên template hoặc đối tượng Template.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
timeoutNumber
Thời gian chờ tối đa (milliseconds). Nếu bỏ qua tham số này thì chỉ quét một lần.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
thresholdNumber
Ngưỡng khớp từ 0.0 đến 1.0.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.7
rateNumber
Số lần quét mỗi giây (1-60).
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 3.0

Giá trị trả về

MatchList — Kết quả batch khi tất cả template đều được tìm thấy, hoặc danh sách rỗng khi hết thời gian chờ.

Hành vi / tác động

Quét region này và chỉ trả về khi toàn bộ template trong danh sách đều được tìm thấy. Nếu bỏ qua timeout, hệ thống chỉ quét đúng một lần.

Thực thi

  • Chờ hoàn tất: Có
  • An toàn khi chạy đồng thời: Có giới hạn
  • Chạy song song: Tùy điều kiện

Nhận diện chạy trong luồng gọi và dùng chụp màn hình chung. find tìm sự xuất hiện; wait chờ biến mất. Một lần quét vẫn tốn thời gian chụp và nhận diện; timeout hay tốc độ kiểm tra không làm lời gọi bất đồng bộ.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.find_color

Quét vùng tìm kiếm này cho một màu mục tiêu bằng cùng quy tắc sai số RGB raw-frame như nhận diện màu trong UI.

Cú pháp

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

Tham số

TênMô tả
colorColor | String | Number
Màu mục tiêu.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
timeoutNumber
Thời gian chờ tối đa theo mili giây. 0 là quét một lượt.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
toleranceNumber
Sai số RGB cho phép trên từng kênh từ 0 đến 255.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
rateNumber
Số lần quét mỗi giây khi đang chờ.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 3
intervalNumber
Bước lấy mẫu theo pixel.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 10

Giá trị trả về

Match — Match có point là list[Point]; find_color trả tối đa một point.

Hành vi / tác động

Quét vùng tìm kiếm này cho một màu mục tiêu bằng cùng quy tắc sai số RGB raw-frame như nhận diện màu trong UI. Điểm tốt nhất được chọn theo max delta kênh RGB nhỏ nhất.

Thực thi

  • Chờ hoàn tất: Có
  • An toàn khi chạy đồng thời: Có giới hạn
  • Chạy song song: Tùy điều kiện

Nhận diện chạy trong luồng gọi và dùng chụp màn hình chung. find tìm sự xuất hiện; wait chờ biến mất. Một lần quét vẫn tốn thời gian chụp và nhận diện; timeout hay tốc độ kiểm tra không làm lời gọi bất đồng bộ.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.find_any_color

Quét vùng tìm kiếm này cho nhiều màu mục tiêu.

Cú pháp

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

Tham số

TênMô tả
colorslist[Color | String | Number] | tuple[Color | String | Number]
Danh sách màu mục tiêu.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
timeoutNumber
Thời gian chờ tối đa theo mili giây. 0 là quét một lượt.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
toleranceNumber
Sai số RGB cho phép trên từng kênh từ 0 đến 255.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
rateNumber
Số lần quét mỗi giây khi đang chờ.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 3
intervalNumber
Bước lấy mẫu theo pixel.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 10

Giá trị trả về

Match — Match có point là list[Point]; mỗi màu đầu vào tìm thấy có một point tốt nhất.

Hành vi / tác động

Quét vùng tìm kiếm này cho nhiều màu mục tiêu. Mỗi màu đầu vào trả tối đa một point tốt nhất, giữ thứ tự theo danh sách màu đầu vào.

Thực thi

  • Chờ hoàn tất: Có
  • An toàn khi chạy đồng thời: Có giới hạn
  • Chạy song song: Tùy điều kiện

Nhận diện chạy trong luồng gọi và dùng chụp màn hình chung. find tìm sự xuất hiện; wait chờ biến mất. Một lần quét vẫn tốn thời gian chụp và nhận diện; timeout hay tốc độ kiểm tra không làm lời gọi bất đồng bộ.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.find_multi_color

Quét vùng tìm kiếm này để lấy nhiều vị trí của đúng một màu mục tiêu.

Cú pháp

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

Tham số

TênMô tả
colorColor | String | Number
Một màu mục tiêu.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
timeoutNumber
Thời gian chờ tối đa theo mili giây. 0 là quét một lượt.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
toleranceNumber
Sai số RGB cho phép trên từng kênh từ 0 đến 255.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
rateNumber
Số lần quét mỗi giây khi đang chờ.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 3
intervalNumber
Bước lấy mẫu theo pixel.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 10

Giá trị trả về

Match — Match có point là list[Point]; các point khớp được sắp xếp với màu gần nhất đứng trước.

Hành vi / tác động

Quét vùng tìm kiếm này để lấy nhiều vị trí của đúng một màu mục tiêu. Truyền list hoặc tuple sẽ bị báo lỗi để không âm thầm biến thành tìm nhiều màu.

Thực thi

  • Chờ hoàn tất: Có
  • An toàn khi chạy đồng thời: Có giới hạn
  • Chạy song song: Tùy điều kiện

Nhận diện chạy trong luồng gọi và dùng chụp màn hình chung. find tìm sự xuất hiện; wait chờ biến mất. Một lần quét vẫn tốn thời gian chụp và nhận diện; timeout hay tốc độ kiểm tra không làm lời gọi bất đồng bộ.

Ví dụ

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)

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.wait

Chờ cho đến khi template biến mất khỏi region này.

Cú pháp

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

Tham số

TênMô tả
templateString | Template
Tên template, đường dẫn thư mục tương đối, hoặc đối tượng Template trong macro hiện tại.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
timeoutNumber
Thời gian chờ tối đa (milliseconds). Nếu bỏ qua tham số này thì chỉ quét một lần.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
thresholdNumber
Ngưỡng khớp từ 0.0 đến 1.0.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.7
rateNumber
Số lần quét mỗi giây (1-60).
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 3.0

Giá trị trả về

Match — Trạng thái match mới nhất khi template biến mất hoặc khi hết thời gian chờ.

Hành vi / tác động

Chờ cho đến khi template biến mất khỏi region này. Nếu bỏ qua timeout, hệ thống chỉ quét đúng một lần.

Thực thi

  • Chờ hoàn tất: Có
  • An toàn khi chạy đồng thời: Có giới hạn
  • Chạy song song: Tùy điều kiện

Nhận diện chạy trong luồng gọi và dùng chụp màn hình chung. find tìm sự xuất hiện; wait chờ biến mất. Một lần quét vẫn tốn thời gian chụp và nhận diện; timeout hay tốc độ kiểm tra không làm lời gọi bất đồng bộ.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.wait_any

Chờ đến khi có ít nhất một template trong danh sách biến mất khỏi region này.

Cú pháp

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

Tham số

TênMô tả
templateslist[String | Template]
Danh sách tên template hoặc đối tượng Template.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
timeoutNumber
Thời gian chờ tối đa (milliseconds). Nếu bỏ qua tham số này thì chỉ quét một lần.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
thresholdNumber
Ngưỡng khớp từ 0.0 đến 1.0.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.7
rateNumber
Số lần quét mỗi giây (1-60).
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 3.0

Giá trị trả về

MatchList — Trạng thái batch khi ít nhất một template không còn được tìm thấy.

Hành vi / tác động

Chờ đến khi có ít nhất một template trong danh sách biến mất khỏi region này. Nếu bỏ qua timeout, hệ thống chỉ quét đúng một lần.

Thực thi

  • Chờ hoàn tất: Có
  • An toàn khi chạy đồng thời: Có giới hạn
  • Chạy song song: Tùy điều kiện

Nhận diện chạy trong luồng gọi và dùng chụp màn hình chung. find tìm sự xuất hiện; wait chờ biến mất. Một lần quét vẫn tốn thời gian chụp và nhận diện; timeout hay tốc độ kiểm tra không làm lời gọi bất đồng bộ.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.wait_all

Chờ đến khi tất cả template trong danh sách đều biến mất khỏi region này.

Cú pháp

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

Tham số

TênMô tả
templateslist[String | Template]
Danh sách tên template hoặc đối tượng Template.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
timeoutNumber
Thời gian chờ tối đa (milliseconds). Nếu bỏ qua tham số này thì chỉ quét một lần.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
thresholdNumber
Ngưỡng khớp từ 0.0 đến 1.0.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.7
rateNumber
Số lần quét mỗi giây (1-60).
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 3.0

Giá trị trả về

MatchList — Trạng thái batch khi toàn bộ template đều không còn được tìm thấy.

Hành vi / tác động

Chờ đến khi tất cả template trong danh sách đều biến mất khỏi region này. Nếu bỏ qua timeout, hệ thống chỉ quét đúng một lần.

Thực thi

  • Chờ hoàn tất: Có
  • An toàn khi chạy đồng thời: Có giới hạn
  • Chạy song song: Tùy điều kiện

Nhận diện chạy trong luồng gọi và dùng chụp màn hình chung. find tìm sự xuất hiện; wait chờ biến mất. Một lần quét vẫn tốn thời gian chụp và nhận diện; timeout hay tốc độ kiểm tra không làm lời gọi bất đồng bộ.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.capture

Chụp màn hình và cắt theo region hiện tại, sau đó trả về kết quả dưới dạng Template.

Cú pháp

region.capture(name=None)

Tham số

TênMô tả
nameString?
Tên template tùy chọn để lưu ngay vào macro hiện tại.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: None

Giá trị trả về

Template — Đối tượng template vừa capture.

Hành vi / tác động

Chụp màn hình và cắt theo region hiện tại, sau đó trả về kết quả dưới dạng Template.

Thực thi

  • Chờ hoàn tất: Có
  • An toàn khi chạy đồng thời: Có giới hạn
  • Chạy song song: Tùy điều kiện

Nhận diện chạy trong luồng gọi và dùng chụp màn hình chung. find tìm sự xuất hiện; wait chờ biến mất. Một lần quét vẫn tốn thời gian chụp và nhận diện; timeout hay tốc độ kiểm tra không làm lời gọi bất đồng bộ.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.left

Thu nhỏ region về phía trái.

Cú pháp

region.left(value=0.5)

Tham số

TênMô tả
valueNumber
Mức thu nhỏ: 0 -> 1 là tỉ lệ theo chiều rộng hiện tại, >1 là pixel.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.5

Giá trị trả về

Region — Region mới được thu từ cạnh phải.

Hành vi / tác động

Thu nhỏ region về phía trái. Cạnh phải sẽ dịch sang trái theo giá trị yêu cầu.

Thực thi

  • Chờ hoàn tất: Không
  • An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
  • Chạy song song: Có

Tạo hoặc suy hình học trong luồng gọi, không chụp hay nhận diện. Giữ builder Region có thể thay đổi riêng cho mỗi luồng.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.right

Thu nhỏ region về phía phải.

Cú pháp

region.right(value=0.5)

Tham số

TênMô tả
valueNumber
Mức thu nhỏ: 0 -> 1 là tỉ lệ theo chiều rộng hiện tại, >1 là pixel.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.5

Giá trị trả về

Region — Region mới được thu từ cạnh trái.

Hành vi / tác động

Thu nhỏ region về phía phải. Cạnh trái sẽ dịch sang phải theo giá trị yêu cầu.

Thực thi

  • Chờ hoàn tất: Không
  • An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
  • Chạy song song: Có

Tạo hoặc suy hình học trong luồng gọi, không chụp hay nhận diện. Giữ builder Region có thể thay đổi riêng cho mỗi luồng.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.top

Thu nhỏ region về phía trên.

Cú pháp

region.top(value=0.5)

Tham số

TênMô tả
valueNumber
Mức thu nhỏ: 0 -> 1 là tỉ lệ theo chiều cao hiện tại, >1 là pixel.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.5

Giá trị trả về

Region — Region mới được thu từ cạnh dưới.

Hành vi / tác động

Thu nhỏ region về phía trên. Cạnh dưới sẽ dịch lên theo giá trị yêu cầu.

Thực thi

  • Chờ hoàn tất: Không
  • An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
  • Chạy song song: Có

Tạo hoặc suy hình học trong luồng gọi, không chụp hay nhận diện. Giữ builder Region có thể thay đổi riêng cho mỗi luồng.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.bottom

Thu nhỏ region về phía dưới.

Cú pháp

region.bottom(value=0.5)

Tham số

TênMô tả
valueNumber
Mức thu nhỏ: 0 -> 1 là tỉ lệ theo chiều cao hiện tại, >1 là pixel.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.5

Giá trị trả về

Region — Region mới được thu từ cạnh trên.

Hành vi / tác động

Thu nhỏ region về phía dưới. Cạnh trên sẽ dịch xuống theo giá trị yêu cầu.

Thực thi

  • Chờ hoàn tất: Không
  • An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
  • Chạy song song: Có

Tạo hoặc suy hình học trong luồng gọi, không chụp hay nhận diện. Giữ builder Region có thể thay đổi riêng cho mỗi luồng.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.horizontal

Thu nhỏ theo trục ngang về phía giữa bằng cách dịch cả cạnh trái và cạnh phải vào trong.

Cú pháp

region.horizontal(value=0.5)

Tham số

TênMô tả
valueNumber
Tổng mức thu nhỏ ngang: 0 -> 1 là tỉ lệ theo chiều rộng hiện tại, >1 là pixel.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.5

Giá trị trả về

Region — Region canh giữa với chiều rộng đã giảm.

Hành vi / tác động

Thu nhỏ theo trục ngang về phía giữa bằng cách dịch cả cạnh trái và cạnh phải vào trong.

Thực thi

  • Chờ hoàn tất: Không
  • An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
  • Chạy song song: Có

Tạo hoặc suy hình học trong luồng gọi, không chụp hay nhận diện. Giữ builder Region có thể thay đổi riêng cho mỗi luồng.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.vertical

Thu nhỏ theo trục dọc về phía giữa bằng cách dịch cả cạnh trên và cạnh dưới vào trong.

Cú pháp

region.vertical(value=0.5)

Tham số

TênMô tả
valueNumber
Tổng mức thu nhỏ dọc: 0 -> 1 là tỉ lệ theo chiều cao hiện tại, >1 là pixel.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.5

Giá trị trả về

Region — Region canh giữa với chiều cao đã giảm.

Hành vi / tác động

Thu nhỏ theo trục dọc về phía giữa bằng cách dịch cả cạnh trên và cạnh dưới vào trong.

Thực thi

  • Chờ hoàn tất: Không
  • An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
  • Chạy song song: Có

Tạo hoặc suy hình học trong luồng gọi, không chụp hay nhận diện. Giữ builder Region có thể thay đổi riêng cho mỗi luồng.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.middle

Thu nhỏ cả chiều rộng và chiều cao về phía giữa.

Cú pháp

region.middle(value=0.5)

Tham số

TênMô tả
valueNumber
Mức thu nhỏ cho cả hai trục: 0 -> 1 là tỉ lệ trên từng trục, >1 là pixel trên từng trục.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0.5

Giá trị trả về

Region — Region canh giữa đã giảm theo cả hai trục.

Hành vi / tác động

Thu nhỏ cả chiều rộng và chiều cao về phía giữa.

Thực thi

  • Chờ hoàn tất: Không
  • An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
  • Chạy song song: Có

Tạo hoặc suy hình học trong luồng gọi, không chụp hay nhận diện. Giữ builder Region có thể thay đổi riêng cho mỗi luồng.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.highlight

Vẽ khung highlight cho region hiện tại.

Cú pháp

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

Tham số

TênMô tả
colorColor | String | Number
Màu highlight.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: green
line_widthNumber
Độ dày viền theo dp.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 2
auto_hide_msNumber
Tự tắt sau N mili giây. 0 là không tự tắt.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0
movableBoolean
Cho phép kéo region đang highlight và cập nhật ngược toạ độ mới vào chính Region này.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: False

Giá trị trả về

Region — Trả về chính region sau khi vẽ highlight.

Hành vi / tác động

Vẽ khung highlight cho region hiện tại. Với movable=True, người dùng có thể kéo region và chính Region này sẽ nhận lại toạ độ màn hình mới. Nếu highlight lại cùng region instance thì sẽ thay highlight cũ.

Thực thi

  • Chờ hoàn tất: Tùy điều kiện
  • An toàn khi chạy đồng thời: Không bảo đảm
  • Chạy song song: Tùy điều kiện

Chi phí thực thi và thời gian chờ tùy thao tác được mô tả. Giữ giá trị có thể thay đổi trong luồng sở hữu; việc chia sẻ đối tượng tùy ý giữa các luồng không có bảo đảm an toàn chung.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan

Region.highlight_off

Tắt highlight cho region instance này.

Cú pháp

region.highlight_off()

Tham số

Không có

Giá trị trả về

Region — Trả về chính region sau khi tắt highlight.

Hành vi / tác động

Tắt highlight cho region instance này.

Thực thi

  • Chờ hoàn tất: Tùy điều kiện
  • An toàn khi chạy đồng thời: Không bảo đảm
  • Chạy song song: Tùy điều kiện

Chi phí thực thi và thời gian chờ tùy thao tác được mô tả. Giữ giá trị có thể thay đổi trong luồng sở hữu; việc chia sẻ đối tượng tùy ý giữa các luồng không có bảo đảm an toàn chung.

Ví dụ

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

Lỗi / giới hạn

Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.

API liên quan