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

Point

Một điểm trên màn hình, đo bằng pixel.

Cú pháp

Point(x, y, /, scale="fixed", anchor="none")

Tham số khởi tạo

TênMô tả
xNumber
Tọa độ X theo pixel
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
yNumber
Tọa độ Y theo pixel
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
scaleString
Chế độ scale tọa độ.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: fixed
anchorString
Neo tọa độ.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: none

Giá trị trả về

Point

Hành vi / tác động

Một điểm trên màn hình, đo bằng pixel. Scale/anchor điều khiển cách quy đổi tọa độ giữa các kích thước màn hình. Sau khi quy đổi và cộng offset, runtime sẽ clamp point cuối vào khoảng pixel hợp lệ của màn hình hiện tại. Point có thể bung giá trị thành x, y.

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ó

Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.

Ví dụ

origin = Point(0, 0)
target = Point(500, 900)
swipe([
    SwipePoint(origin, speed="NORMAL"),
    SwipePoint(target)
])

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 theo pixel.
yNumber
Tọa độ dọc theo pixel.
scaleString
Chế độ scale tọa độ. Giá trị: fixed, auto, width, height.
Mặc định: fixed
anchorString
Neo tọa độ. Giá trị: none, center, top, bottom, left, right, top_left, top_right, bottom_left, bottom_right, auto.
Mặc định: none
Ví dụ đọc thuộc tính
# Lấy các giá trị x, y của Point
p = Point(500, 900)
x_value = p.x #500
y_value = p.y #900
scale_value = p.scale #FIXED_PIXEL

# Bung Point thành tọa độ x, y
x, y = p
Ví dụ khởi tạo
# Khởi tạo Point có scale/anchor và nhấn vào vị trí đó
p = Point(500, 900, scale="width", anchor="center")
click(p)

Phương thức

3 phương thức

Point.offset

Quy đổi Point này trên màn hình hiện tại, nhân dx/dy pixel nguyên với tỉ lệ chiều rộng hoặc chiều cao toàn màn hình đã chọn mà không xoay trục của delta, sau đó cộng kết quả và trả về Point pixel cố định mới với anchor none.

Cú pháp

point.offset(dx, dy, scale=None)

Tham số

TênMô tả
dxInt
Độ lệch pixel nguyên trên trục X của Point. Giá trị thập phân và normalized không được chấp nhận.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
dyInt
Độ lệch pixel nguyên trên trục Y của Point. Giá trị thập phân và normalized không được chấp nhận.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
scaleString?
Chế độ scale của offset theo kích thước toàn màn hình. Mặc định kế thừa scale hiện tại của Point. Giá trị: fixed, auto, width, height.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: None

Giá trị trả về

Point — Point pixel cố định đã được quy đổi và clamp vào màn hình hiện tại, có scale là FIXED_PIXEL và anchor là NONE.

Hành vi / tác động

Quy đổi Point này trên màn hình hiện tại, nhân dx/dy pixel nguyên với tỉ lệ chiều rộng hoặc chiều cao toàn màn hình đã chọn mà không xoay trục của delta, sau đó cộng kết quả và trả về Point pixel cố định mới với anchor none. Kích thước app viewport không được dùng. Khi bỏ qua scale, offset kế thừa scale của Point hiện tại. Point ban đầu không bị thay đổi.

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ó

Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.

Ví dụ

# Scale delta pixel theo chiều rộng toàn màn hình rồi cộng vào Point
target = Point(500, 900, scale="width", anchor="center").offset(120, -80)
print(target)
target.highlight()

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

Point.highlight

Vẽ một vùng highlight hình vuông lấy point này làm tâm.

Cú pháp

point.highlight(color="green", line_width=2, region_width=36, auto_hide_ms=0)

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
region_widthNumber
Chiều rộng/cao hình vuông theo pixel.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 36
auto_hide_msNumber
Tự tắt sau N milliseconds. 0 là không tự tắt.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: 0

Giá trị trả về

Region — Region hình vuông đã được highlight quanh point.

Hành vi / tác động

Vẽ một vùng highlight hình vuông lấy point này làm tâm. Nếu highlight lại cùng point instance thì sẽ thay highlight cũ.

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ó

Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.

Ví dụ

p = Point(500, 900)
p.highlight()

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

Point.highlight_off

Tắt highlight cho point instance này.

Cú pháp

point.highlight_off()

Tham số

Không có

Giá trị trả về

Point — Trả về chính point sau khi tắt highlight.

Hành vi / tác động

Tắt highlight cho point instance này.

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ó

Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.

Ví dụ

p = Point(500, 900)
p.highlight("red", 3)
wait(1000)
p.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