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

Template

Lớp bọc ảnh template.

Cú pháp

Template(name, /)

Tham số khởi tạo

TênMô tả
nameString
Tên template trong macro hiện tại, có thể là đường dẫn thư mục tương đối như "buttons/top/attack".
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định

Giá trị trả về

Template

Hành vi / tác động

Lớp bọc ảnh template. Bạn có thể scale/crop một template có sẵn, lưu thành tên mới, hoặc kiểm tra tồ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ụ

base = Template("enemy_head")
variant = base.scale(0.9).crop(Region(0, 0, 64, 64)).save_as("enemy_head_small")

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ả
nameString?
Tên template hoặc đường dẫn thư mục tương đối khi object này trỏ tới template đã đặt tên trong macro hiện tại.
Ví dụ khởi tạo
base = Template("enemy_head")

Phương thức

5 phương thức

Template.exists

Kiểm tra một tên template có tồn tại trong macro hiện tại hay không.

Cú pháp

Template.exists(name)

Tham số

TênMô tả
nameString
Tên template hoặc đường dẫn thư mục tương đối cần kiểm tra.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định

Giá trị trả về

Boolean — true nếu template tồn tại.

Hành vi / tác động

Kiểm tra một tên template có tồn tại trong macro hiện tại hay khô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ụ

if Template.exists("enemy_head"):
    text("ready")

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

Template.exists

Kiểm tra object Template này còn trỏ tới file tồn tại hay không.

Cú pháp

template.exists()

Tham số

Không có

Giá trị trả về

Boolean — true nếu file template phía sau còn tồn tại.

Hành vi / tác động

Kiểm tra object Template này còn trỏ tới file tồn tại hay khô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ụ

t = Template("enemy_head")
if t.exists():
    text("ok")

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

Template.scale

Tạo một bản sao template đã scale và trả về dưới dạng Template khác.

Cú pháp

template.scale(scale, scale_y=None)

Tham số

TênMô tả
scaleNumber
Hệ số scale trục X (và cả trục Y nếu bỏ qua scale_y).
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
scale_yNumber
Hệ số scale trục Y tùy chọn.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: scale

Giá trị trả về

Template — Đối tượng template đã scale.

Hành vi / tác động

Tạo một bản sao template đã scale và trả về dưới dạng Template khá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ụ

t = Template("enemy_head")
small = t.scale(0.8)
hit = Region(0, 0, 1080, 2400).find(small, 3000)

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

Template.crop

Cắt template này theo một region theo pixel cục bộ của template và trả về Template mới.

Cú pháp

template.crop(region)

Tham số

TênMô tả
regionRegion
Vùng cắt theo tọa độ cục bộ của template.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định

Giá trị trả về

Template — Đối tượng template đã cắt.

Hành vi / tác động

Cắt template này theo một region theo pixel cục bộ của template và trả về Template mớ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ụ

t = Template("enemy_head")
face = t.crop(Region(10, 10, 60, 60))

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

Template.save_as

Lưu object template này vào bộ template của macro hiện tại bằng tên mới hoặc đường dẫn thư mục tương đối.

Cú pháp

template.save_as(name)

Tham số

TênMô tả
nameString
Tên template mới, có thể kèm thư mục như "buttons/top/attack".
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định

Giá trị trả về

Template — Đối tượng template đã được lưu và đặt tên.

Hành vi / tác động

Lưu object template này vào bộ template của macro hiện tại bằng tên mới hoặc đường dẫn thư mục tương đố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ụ

captured = Region(200, 300, 120, 90).capture()
saved = captured.save_as("buttons/top/enemy_slot")
if saved.exists():
    text("saved")

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