Chuyển tới nội dung chính

Tìm màu - Chế độ độ lệch màu (screen.find_color)

Khai báo​

tọa độ x, tọa độ y = screen.find_color({
[find_all = có tìm nhiều kết quả hay không,]
[max_results = số kết quả tối đa,]
[max_miss = số điểm không khớp tối đa cho phép,]
{tọa độ x của điểm bắt đầu, tọa độ y của điểm bắt đầu, {màu của điểm bắt đầu[, độ lệch màu của điểm bắt đầu]}},
{tọa độ x của điểm lệch*, tọa độ y của điểm lệch*, {màu của điểm lệch*, độ lệch màu của điểm lệch*}},
{tọa độ x của điểm lệch*, tọa độ y của điểm lệch*, {màu của điểm lệch*, độ lệch màu của điểm lệch*}},
...
} [, trái, trên, phải, dưới ])

Tham số​

  • có tìm nhiều kết quả hay không
    Boolean, tùy chọn. Khi đúng, trả về một bảng chứa tất cả các vị trí khớp trong khu vực, định dạng {{x1, y1}, {x2, y2}, ...}. Mặc định là sai.
  • số kết quả tối đa
    Integer, tùy chọn. Số lượng kết quả tối đa khi find_all đúng. Tối đa 1000, mặc định 100.
  • số điểm không khớp tối đa cho phép
    Integer, tùy chọn. Số lượng điểm không khớp cho phép tối đa. Mặc định 0 (tất cả các điểm phải khớp).
  • tọa độ x của điểm bắt đầu, tọa độ y của điểm bắt đầu
    Integer. Tọa độ điểm bắt đầu. Đây là điểm tham chiếu để tính toán vị trí lệch, không phải giới hạn tìm kiếm. Nếu không chắc, sử dụng 0, 0.
  • màu của điểm bắt đầu
    Integer. Màu cần khớp tại điểm bắt đầu.
  • độ lệch màu của điểm bắt đầu
    Integer. Biên độ màu tối đa (hoặc lệch). Giá trị lớn hơn 0xff000000 kích hoạt khớp ngược (khớp với màu không khớp với giá trị đã chỉ định).
  • tọa độ x của điểm lệch*, tọa độ y của điểm lệch*
    Integer. Tọa độ lệch so với điểm bắt đầu.
  • màu của điểm lệch*
    Integer. Màu mong đợi tại điểm lệch.
  • độ lệch màu của điểm lệch*
    Integer. Biên độ màu tối đa (hoặc lệch) tại điểm lệch. Giá trị lớn hơn 0xff000000 kích hoạt khớp ngược.
  • trái, trên, phải, dưới
    Integer, tùy chọn. Khu vực tìm kiếm. Mặc định là toàn màn hình.

Giá trị trả về​

  • tọa độ x, tọa độ y
    Integer. Tọa độ của cấu trúc nhiều điểm khớp đầu tiên. Trả về -1, -1 khi thất bại.

Mô tả​

Tìm vị trí của cấu trúc nhiều điểm màu khớp hoàn toàn bằng chế độ độ lệch màu.
Các tham số tọa độ và giá trị trả về tuân theo hệ tọa độ được khởi tạo qua screen.init.

Độ lệch màu (sai màu) đại diện cho khoảng màu chấp nhận được. Với màu 0x456789 và lệch 0x123456, khoảng là:
Đỏ: 0x45 ± 0x12, Xanh lá: 0x67 ± 0x34, Xanh dương: 0x89 ± 0x56.

Sử dụng tiền tố 0x cho các số thập lục phân.

Ví dụ​

x, y = screen.find_color({
{ 0, 0, {0xec1c23, 0x000000}},
{ 12, -3, {0xffffff, 0x101010}},
{ 5, -18, {0x00adee, 0x123456}},
{ -1, -10, {0xffc823, 0x101001}},
{ 2, -34, {0xa78217, 0x101001}},
{ 12, -55, {0xd0d2d2, 0x101001}},
}, 0, 0, 100, 100)
--
-- Dạng tương đương với tọa độ tuyệt đối:
--
x, y = screen.find_color({
{ 509, 488, {0xec1c23, 0x000000}},
{ 521, 485, {0xffffff, 0x101010}},
{ 514, 470, {0x00adee, 0x123456}},
{ 508, 478, {0xffc823, 0x101001}},
{ 511, 454, {0xa78217, 0x101001}},
{ 521, 433, {0xd0d2d2, 0x101001}},
}, 0, 0, 100, 100)
--
-- Dạng gọn một dòng:
--
x, y = screen.find_color({ {0,0,{0xec1c23,0x000000} },{12,-3, {0xffffff,0x101010} },{5,-18, {0x00adee,0x123456} },{-1,-10,{0xffc823,0x101001} },{2,-34,{0xa78217,0x101001} },{12,-55,{0xd0d2d2,0x101001} }, },0,0,100,100)
--
-- Demo khớp ngược (chạy trên màn hình trang chủ iPhone 5C để xem kết quả):
x, y = screen.find_color({
{ 516, 288, {0xffffff, 0x101010} },
{ 519, 286, {0xffffff, 0x101010} },
{ 521, 289, {0xffffff, 0x101010} },
{ 516, 296, {0xffffff, 0x101010} },
{ 522, 297, {0xffffff, 0x101010} },
{ 520, 295, {0xffffff, 0xff101010} },
{ 515, 291, {0xffffff, 0xff101010} },
{ 518, 284, {0xffffff, 0xff101010} },
{ 523, 298, {0xffffff, 0xff101010} },
{ 514, 298, {0xffffff, 0xff101010} },
{ 514, 296, {0xffffff, 0xff101010} },
})
--
-- Demo tìm toàn bộ (trả về tất cả các vị trí):
results = screen.find_color({
{ 527, 278, {0xde1d26, 0x101010} },
{ 524, 285, {0x007aff, 0x101010} },
{ 555, 292, {0xe4ddc9, 0x101010} },
{ 536, 314, {0xffde02, 0x101010} },
{ 502, 291, {0xffde02, 0x101010} },
{ 502, 283, {0xe4ddc9, 0x101010} },
find_all = true,
})