#lua
Вопрос:
У меня возникли проблемы с тем,чтобы механизм перемещения работал плавно от Fx,Fy до Hx, Hy
local x1 = 0
local y1 = 0
function OnEvent(event, arg)
Fx, Fy = 41220, 36442
Hx, Hy = 39205, 44459
while x1 ~= Hx or y1 ~= Hy do
for i = 0 do 2015
x1 = Fx - 1
y1 = Fy 4 --i got the 4 from subtracting lower fx and hx divide by 2015
MoveMouseRelative(x1, y1)
Sleep(1000)
end
end
end
Я не знаю, что добавить в оператор while, он продолжает выдавать мне ошибку.
Комментарии:
1. вы должны поделиться фактическим сообщением об ошибке. «ошибка» не очень полезна
2.
MoveMouseRelative
принимает расстояние в пикселях для относительного перемещения. Вы передали абсолютные координаты в непиксельных единицах измерения.
Ответ №1:
for i = 0 do 2015
x1 = Fx - 1
y1 = Fy 4 --i got the 4 from subtracting lower fx and hx divide by 2015
MoveMouseRelative(x1, y1)
Sleep(1000)
end
Это неверно. Синтаксис числового цикла for таков:
stat ::= for Name ‘=’ exp ‘,’ exp [‘,’ exp] do block end
Обратите внимание , что из трех управляющих выражений initial value
limit
и step
только третье выражение step
является необязательным (см. Квадратные скобки).
В своем коде вы не указали ограничение.
Кроме того, у вас может быть не просто номер в вашем коде, как тот 2015
, который идет после вашего do
. Это также синтаксическая ошибка.
Пожалуйста, прочтите руководство Lua. https://www.lua.org/manual/5.4/manual.html#3.3.5
В дальнейшем ваш код не дает ничего полезного.
Вы просто назначаете одни и те же константы снова и снова в своем цикле. Поскольку x1 и y1 никогда не меняются, и ваше условие всегда будет выполнено, цикл while будет выполняться вечно. Вызывая относительное движение мыши (41219; 36446) каждую секунду, что является полной ерундой.
Я предлагаю вам начать с ручки и бумаги. Подумайте о своей проблеме. Убедитесь, что ваши действия имеют смысл. Затем реализуйте его в Lua, ссылаясь на руководство Lua.