Здравствуйте, гость ( Вход | Регистрация )

> Findimage (lua)
YuzveR
сообщение 14.2.2024, 13:22
Сообщение #1


*

Registred
Сообщений: 5
Регистрация: 14.2.2024
Группа: Пользователи
Наличность: 0
Пользователь №: 20.717
Возраст: 37



Доброго времени суток.
Вопрос по Findimage:
Имеется несколько сохранённых картинок. Например, звезда, треугольник, квадрат и т.д.
Возможно ли объединить все искомые картинки в один массив? Например:

Код
--lua
local handle = findwindow ("Безымянный")
local startX, startY, endX, endY = 0, 0, 1920, 1080
local path = [[C:\\Image]]
local arr = {"blackstar","bluestar","green","orangearr","purple","redstar"}
for i=1, #arr do
   local image, a = findimage (startX, startY, endX, endY, {path .. "\\" .. arr[i] .. ".bmp"}, 2)
end


Вообще могу прописать к каждой картинке findimage {blackstar.bmp} и т.д., но скрипт очень большой выходит )
Пытаюсь написать выполнение цикла до тех пор, пока все 6(например) картинок не будут кликнуты и не пропадут после клика.

И другой вопрос, реально ли реализовать прохождение тестирования через скрипт?
Например, Есть вопрос "2+2 = ?" и несколько вариантов ответов "1, 2, 3, 4". И он идёт первым.
Через findimage поиск картинки с вопросом и клик на ответ.
Но как реализовать, если этот вопрос будет в середине или в конце тестирования?
Скрипт же идёт сверху вниз по порядку. То есть это условие появления findimage может возникнуть в любой момент.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
YuzveR
сообщение 19.2.2024, 13:26
Сообщение #2


*

Registred
Сообщений: 5
Регистрация: 14.2.2024
Группа: Пользователи
Наличность: 0
Пользователь №: 20.717
Возраст: 37



Цитата(cirus @ 8.3.2023, 20:40) *

Для примера 2 скрипта, нужно понимать разницу:
Код
--lua
if true then
    local c = 123  -- локальная переменная, существует только в этом блоке if end
end

log(c)    -- nil переменной не существует

Код
--lua
local c
if true then
    c = 123
end

log(c)



Правильно понимаю, что переменная, присвоенная до начала цикла действует на весь скрипт? А переменная присвоенная уже в цикле - действует до окончания цикла?

И какой скрипт будет корректней для такого типа, и будут ли действовать все три?
Код

local aa = findimage()
while (aa) do
тело_кода
end
local ab = findimage()
while (ab) do
тело_кода
end
local ac = findimage()
while (ac) do
тело_кода
end


или

Код

while (aa) do
local aa = findimage()
тело_кода1
end
while (aa) do
local aa = findimage()
тело_кода2
end
while (aa) do
local aa = findimage()
тело_кода3
end


или

Код

local aa = findimage()
local ab = findimage()
local ac = findimage()
while (aa) do
тело_кода
end
while (ab) do
тело_кода
end
while (ac) do
тело_кода
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 16.7.2025, 1:56
Designed by Nickostyle