Arseniy10 50 Опубликовано: 6 июля, 2016 (изменено) И снова здравствуйте, теперь у меня не очищается экран командой "term.clear()" Из-за чего получаются непредвиденные рисовашки. Как исправить? Часть кода: local com = require("component") local term = require("term") local event = require("event") local colors = require("colors") local gpu = com.gpu ... Touch,ScreenX,ScreenY,_,nick = event.pull("touch") ... if ScreenY>4 and 5<ScreenY then if ScreenX>31.5 and 48.5<ScreenX then gpu.setBackground(colors.brown,true) gpu.setForeground(colors.silver,true) term.clear() end end Изменено 6 июля, 2016 пользователем Arseniy10 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 6 июля, 2016 У тебя не экран не очищается, а не обрабатывается корректно событие "touch". Дай ссылку на полный код и опиши чего делаешь и что хочешь получить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
newbie 1 971 Опубликовано: 6 июля, 2016 for SSY=4,5,0.1 do --перебираем координаты строки (по высоте), для того, чтобы можно было нажать кнопку в её пределах for SSX=31.5,48.5,0.1 do --перебираем X, аналогично Не совсем понял про координаты по которым идет перебор, зачем тут десятые? "пиксели" в OpenOS это же просто символы, значит 3 пиксель в 5 строке - это 3 символ в 5 строке и не более, зачем десятые? Плюс в переборе иксовых координат 3 значения? зачем?Я решаю работу с "кнопками" так: local e = {event.pull("touch")} if e[4] == игрик координата кнопки then --так как там текст, то думаю кнопка обычно в 1 строке if e[3]>начальная икс координата and e[3]<конечная икс координата then --действия после нажатия end end Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 6 июля, 2016 Я решаю работу с "кнопками" так: ... Тут надо учитывать, что при выполнении команды event.pull("touch") программа замирает пока не кликнешь по экрану. Т.е. надо обрабатывать не только "touch", но и другие события. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Arseniy10 Автор вопроса 50 Опубликовано: 6 июля, 2016 (изменено) Не совсем понял про координаты по которым идет перебор, зачем тут десятые? "пиксели" в OpenOS это же просто символы, значит 3 пиксель в 5 строке - это 3 символ в 5 строке и не более, зачем десятые? Плюс в переборе иксовых координат 3 значения? зачем? Я решаю работу с "кнопками" так: local e = {event.pull("touch")} if e[4] == игрик координата кнопки then --так как там текст, то думаю кнопка обычно в 1 строке if e[3]>начальная икс координата and e[3]<конечная икс координата then --действия после нажатия end end Большая благодарность за кнопки! Но вопрос остался актуален. И на счет десятичных. Когда я проверял, что выдает каждая переменная (event.pull("touch")), то координаты "касаний" были десятичными (10.5, 30.7). Изменено 6 июля, 2016 пользователем Arseniy10 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Arseniy10 Автор вопроса 50 Опубликовано: 6 июля, 2016 У тебя не экран не очищается, а не обрабатывается корректно событие "touch". Дай ссылку на полный код и опиши чего делаешь и что хочешь получить Да я уже понял, при нажатии на любое место такое происходит. Ибо событие произошло, а то, что было задано, не случилось. Проще говоря, рукожоп я (рифма). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
И снова здравствуйте, теперь у меня не очищается экран командой "term.clear()"
Из-за чего получаются непредвиденные рисовашки.
Как исправить?
Часть кода:
...
...
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах