Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Необходимо на экране вывести прямоугольник по заданным координатам

Страниц (1): [1]
 

1. marshal62reg - 11 Сентября, 2021 - 06:07:01 - перейти к сообщению
Необходимо на экране вывести прямоугольник по заданным координатам, необходимо для того чтобы я понимал по какой площади работает бот, думал что можно пометить координаты текстом например 4 угла знаком ("+"Подмигивание и буду на них опираться, но я бы не хотел засорять бота, да и по какой то причине выводится только 1 "+ ", если есть гайд по этой теме, скажите пожалуйста. Также буду признателен если также намекнете где я мою посмотреть как делать кнопку старт, пауза и т.д.

P.S. не знаю по каким ключевым словам можно это искать, по этому и пишу.
2. Zireael - 11 Сентября, 2021 - 06:22:38 - перейти к сообщению
 Цитата:
Необходимо на экране вывести прямоугольник по заданным координатам

https://kibor-bot.com/forum/topi...41055#1603541055
Код для кнопки старт, пауза тоже гд-то был на форуме.
3. marshal62reg - 11 Сентября, 2021 - 07:11:39 - перейти к сообщению
 Zireael пишет:
 Цитата:
Необходимо на экране вывести прямоугольник по заданным координатам

https://kibor-bot.com/forum/topi...41055#1603541055
Код для кнопки старт, пауза тоже гд-то был на форуме.


спасибо, щас разберемся
(Добавление)
 Zireael пишет:
 Цитата:
Необходимо на экране вывести прямоугольник по заданным координатам

https://kibor-bot.com/forum/topi...41055#1603541055
Код для кнопки старт, пауза тоже гд-то был на форуме.


Правильно я понял здесь мы используем данные для вывода линий на экране?

CODE:
function visual(int sx, int sy, int fx,int fy, int width)
{
resettextout(1);
visualwindow(0, 0, 0, fx, width, sx, sy, 100, #array[0][0]); // 1 линия
visualwindow(1, 0, 0, width, fy, sx, sy, 100, #array[0][0]); // 2 линия
visualwindow(2, 0, 0, fx+width, width, sx, fy+sy, 100, #array[0][0]); // 3 линия
visualwindow(3, 0, 0, width, fy, sx+fx, sy, 100, #array[0][0]); // 4 линия
}


и если мне нужно получить всего 1 прямогульник то код будет выглядеть так?
CODE:
int array[1920][1080];
initialarray(#array[0][0], 255); // 255 - цвет линий


loop()
{
visual(900, 500, 400, 350, 2); // координаты рамки, ее размеры, толщина линии
}


function visual(int sx, int sy, int fx,int fy, int width)
{
resettextout(1);
visualwindow(0, 0, 0, fx, width, sx, sy, 100, #array[0][0]); // 1 линия
visualwindow(1, 0, 0, width, fy, sx, sy, 100, #array[0][0]); // 2 линия
visualwindow(2, 0, 0, fx+width, width, sx, fy+sy, 100, #array[0][0]); // 3 линия
visualwindow(3, 0, 0, width, fy, sx+fx, sy, 100, #array[0][0]); // 4 линия
}


И вопрос сразу каким образом его записать в программу, просто в вставить в код кибор? или в графическом редакторе сделать блок "код" и туда его записать
4. Zireael - 11 Сентября, 2021 - 11:13:54 - перейти к сообщению
 Цитата:
Правильно я понял здесь мы используем данные для вывода линий на экране?

В функцию передаются параметры и в ней рисуется рамка.
Можно вызывать функцию 1 раз.
CODE:
int array[1920][1080];
initialarray(#array[0][0], 255); // 255 - цвет линий

visual(900, 500, 400, 350, 2); // координаты рамки, ее размеры, толщина линии
loop() // тут нужный код
{
sleep(10);
}

function visual(int sx, int sy, int fx,int fy, int width)
{
resettextout(1);
visualwindow(0, 0, 0, fx, width, sx, sy, 100, #array[0][0]); // 1 линия
visualwindow(1, 0, 0, width, fy, sx, sy, 100, #array[0][0]); // 2 линия
visualwindow(2, 0, 0, fx+width, width, sx, fy+sy, 100, #array[0][0]); // 3 линия
visualwindow(3, 0, 0, width, fy, sx+fx, sy, 100, #array[0][0]); // 4 линия
}

 Цитата:
каким образом его записать в программу, просто в вставить в код кибор? или в графическом редакторе сделать блок "код" и туда его записать

Зависит от того как код пишите, если вручную в редакторе, то можно использовать как есть. Если в виз. редакторе, то это в блок Старт:
CODE:
int array[1920][1080];
initialarray(#array[0][0], 255); // 255 - цвет линий

В блок кода:
CODE:
visual(900, 500, 400, 350, 2); // координаты рамки, ее размеры, толщина линии

В блок функции:
CODE:
resettextout(1);
visualwindow(0, 0, 0, fx, width, sx, sy, 100, #array[0][0]); // 1 линия
visualwindow(1, 0, 0, width, fy, sx, sy, 100, #array[0][0]); // 2 линия
visualwindow(2, 0, 0, fx+width, width, sx, fy+sy, 100, #array[0][0]); // 3 линия
visualwindow(3, 0, 0, width, fy, sx+fx, sy, 100, #array[0][0]); // 4 линия

В параметрах функции вписать имя visual и параметры:
CODE:
int sx, int sy, int fx,int fy, int width

https://ibb.co/R3VZV8n
5. marshal62reg - 11 Сентября, 2021 - 12:44:08 - перейти к сообщению
Zireael ,
Спасибо за подробный ответ, попробовал просто вставить в код бота, у меня появился прямоугольник, но сам бот перестал работать.

Попробовал 2 вариант который по сложнее, не получилось с 1 раза, занова открыл файл и он заработал, но также как и с 1 вариантом показывал только прямоугольник, получается я убрал loop и от кода перевел на бота, с этого момента все заработало. Но у меня вопрос либо я моргаю часто либо линия (прямоугольник) моргает? грузит ли она бота и если да то сильно ли ?
6. Zireael - 11 Сентября, 2021 - 12:53:07 - перейти к сообщению
 Цитата:
получается я убрал loop и от кода перевел на бота, с этого момента все заработало.

Естественно, loop это цикл, всё что после него не выполняется.
 Цитата:
либо линия (прямоугольник) моргает?

При каждом вызове функции обновляется экран чтобы стереть предыдущую рамку.
Нужно вызывать функцию только когда это необходимо, а не постоянно.
7. marshal62reg - 11 Сентября, 2021 - 13:02:27 - перейти к сообщению
Zireael ,

Я вызываю функцию 1 раз правильно же?(для просмотра ссылки Вам необходимо авторизоваться)
8. Zireael - 11 Сентября, 2021 - 13:13:32 - перейти к сообщению
Findimage при получении изображения вызывает мерцание.
9. marshal62reg - 11 Сентября, 2021 - 13:28:39 - перейти к сообщению
 Zireael пишет:
Findimage при получении изображения вызывает мерцание.


спасибо

Powered by ExBB FM 1.0 Final