Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Пытливый on September 09, 2017, 10:12:09 PM
-
Например хочу сделать примерно так:
fun(GetColorXY, $X, $Y)
GetScreen()
$result = Pxl($X, $Y)
end_fun
...
if (GetColorXY(1,1) = 0)
print("Темно")
else
print("Светло")
end_if
-
Зачем усложнять?
$X=10
$Y=10
GETSCREEN
IF(PXL($X,$Y)=0)
PRINT("Темно")
ELSE
PRINT("Светло")
END_IF
-
Нет, такое решение не подходит. Мне нужно слегка проапгрейдить родную функцию Pxl() которая будет возвращать цвет пикселя. У меня в скрипте таких парных вызовов больше полусотни. Писать перед каждым вызовом Pxl() дополнительно вызов GetScreen() меня утомило. Я вот удивляюсь, почему этот вызов изначально в ней не сделан, если без него она работает неправильно?
-
С чего это оно не согласуется? Я спросил, как СКРИПТОМ написать функцию, получил предложение использовать WinApi - вот это действительно мало согласуется с моим вопросом.
По моему довольно странно ради одного пикселя обновлять графический буфер программы, учитывая размеры современных мониторов. Кроме того PXL прекрасно работает с содержимым графического буфера, даже без GETSCREEN перед каждым вызовом. Поэтому желаемая вами форма апгрейда совсем не рациональна и для большинства пользователей не актуальна
Так и я о том-же. В 4.6 версии мне вызывать GETSCREEN не требовалось. Перешел на 4.12 и без вызова GETSCREEN PXL() тупо возвращает 0 цвет.
-
В старых версиях кликера редактор делал снимки в тот же буфер что и GETSCREEN. В новых буферы изолированны.
Поэтому у некоторых, кто запускал скрипт в режиме редактора, могло сложиться ощущение что GETSCREEN вообще не нужен. GETSCREEN пишут там где требуется получить актуальный снимок экрана. Можно сделать один снимок а потом серией условий проанализировать его.
Покажи свой скрипт, может его можно оптимизировать.