oOlDeMoNlOo 11 Опубликовано: 6 января, 2016 (изменено) Пожалуйста обьясните как использовать event, желательно с простенькими примерами. Изменено 6 января, 2016 пользователем oOlDeMoNlOo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 542 Опубликовано: 6 января, 2016 (изменено) local event = require("event") function keydown(eventname, keyboardaddress, char, code, playername ) print(playername.." нажал клавишу "..code) end event.listen("key_down", keydown) Изменено 23 января, 2016 пользователем Alex Форматирование убрал, а то нечитаемо было =) 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 542 Опубликовано: 6 января, 2016 (изменено) local event = require("event") while true do e, receive, sender, channel, dist, message = event.pull("modem_message") print(message) end Изменено 6 января, 2016 пользователем NEO 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
oOlDeMoNlOo Автор вопроса 11 Опубликовано: 6 января, 2016 local event = require("event") while true do e, receive, sender, dist, chan, message = event.pull("modem_message") print(message) end а можете, пожалуйста, расписать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 542 Опубликовано: 6 января, 2016 (изменено) а можете, пожалуйста, расписать Описание библиотеки event. http://minecraft-ru.gamepedia.com/OpenComputers/Event_API Список событии. http://minecraft-ru.gamepedia.com/OpenComputers/%D0%A1%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D1%8B Изменено 6 января, 2016 пользователем NEO 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
oOlDeMoNlOo Автор вопроса 11 Опубликовано: 6 января, 2016 Описание библиотеки event. http://minecraft-ru.gamepedia.com/OpenComputers/Event_API Список событии. http://minecraft-ru.gamepedia.com/OpenComputers/%D0%A1%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D1%8B спасибо, с пулом я теперь немного разобрался, а с листнером как быть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 542 Опубликовано: 6 января, 2016 (изменено) local event = require("event") function modemMessage(eventname, receive, sender, chan, dist, message) print(message) end event.listen("modem_message", modemMessage) event.listen цепляет к ивенту функцию которая вызывается при появлении ивента. Изменено 6 января, 2016 пользователем NEO 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
oOlDeMoNlOo Автор вопроса 11 Опубликовано: 6 января, 2016 local event = require("event") function modemMessage(eventname, receive, sender, chan, dist, message) print(message) end event.listen("modem_message", modemMessage) event.listen цепляет к ивенту функцию которая вызывается при появлении ивента. что то не понял как работает, можете показать на примере нажатия на клавишу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
oOlDeMoNlOo Автор вопроса 11 Опубликовано: 6 января, 2016 local event = require("event") function keydown(eventname, keyboardaddress, char, code, playername ) print(playername.." нажал клавишу "..code) end event.listen("key_down", keydown) пробовал так, но сразу закрывается Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 542 Опубликовано: 6 января, 2016 пробовал так, но сразу закрывается Кинь код. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
oOlDeMoNlOo Автор вопроса 11 Опубликовано: 6 января, 2016 Кинь код. точно такой же как ваш Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
qwertyMAN 1 723 Опубликовано: 6 января, 2016 local event = require("event") function keydown(eventname, keyboardaddress, char, code, playername ) print(playername.." нажал клавишу "..code) end event.listen("key_down", keydown) А можно сделать так, чтобы комп выполнял функцию update(), только тогда, когда нажата клавиша или пришёл сигнал с wifi? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
oOlDeMoNlOo Автор вопроса 11 Опубликовано: 6 января, 2016 Кинь код. извините, это моя ошибка, я ошибся с именем события. У меня все работает, большое вас спасибо А можно сделать так, чтобы комп выполнял функцию update(), только тогда, когда нажата клавиша или пришёл сигнал с wifi? по сути, для это и сделан листнер имхо 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Mityanych 0 Опубликовано: 21 сентября, 2023 Не мог бы кто-нибудь расссказать как работает event.listen на уровне кода? Как он вызывает функцию при появлении нового события? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 21 сентября, 2023 48 минут назад, Mityanych сказал: Не мог бы кто-нибудь расссказать как работает event.listen на уровне кода? Как он вызывает функцию при появлении нового события? В event.listen мы передаём нашу функцию, которая должна обрабатывать нужное нам событие, а также строку, задающую фильтр по названию события. Когда наша программа выполнила все задачи, требовавшие немедленного выполнения, она обычно вызывает os.sleep. Всю остальную работу выполняет операционная система. Внутри os.sleep вызывается computer.pullSignal, где происходит ожидание события. Название этого события сравнивается со всеми имеющимися фильтрами и при совпадении с каким-либо из них вызывается соответствующий ему обработчик событий. То есть, наша функция, которую мы ранее задали в event.listen. В эту функцию передаются данные, полученные в результате выполнения computer.pullSignal. Вот и вся магия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Пожалуйста обьясните как использовать event, желательно с простенькими примерами.
Изменено пользователем oOlDeMoNlOoПоделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах