Zed 133 Опубликовано: 20 июля, 2015 Подскажите как сделать кнопку которая будет выполнять определённые действия если на неё нажать мышкой Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 398 Опубликовано: 20 июля, 2015 Ненавижу я всякие интерфейсы с кнопками, где нужно целиться мышкой и тыкать на кнопку. Клавиатура — наше всё. Тем не менее, если-таки жаждешь клепать кнопки, рекомендую глянуть в сторону GML от Крутого. 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zed Автор темы 133 Опубликовано: 20 июля, 2015 (изменено) ну или не кнопки а допустим список действий вот фото схематический пример. Передвигать стрелкой для выбора Изменено 20 июля, 2015 пользователем zed Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
artem211 428 Опубликовано: 20 июля, 2015 ну или не кнопки а допустим список действий вот фото схематический пример. Передвигать стрелкой для выбора необходимо создать фигуру, аки прямоугольник, обозначающий границы кнопки, написать функцию, которая, при перехвате события клика по экрану - проверит координаты клика, и если таковые в пределах твоей "кнопки" - запустит ту или иную функцию Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
evgkul 571 Опубликовано: 20 июля, 2015 ну или не кнопки а допустим список действий вот фото схематический пример. Передвигать стрелкой для выбора GML это позволяет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob 2 748 Опубликовано: 21 июля, 2015 (изменено) GML слишком тяжел, использовать его только в одной программе не рационально. В ОС интерфейсы создаются так же как и в СС. Для кнопки надо перехватывать эвенты касания или клика, и запускать нужную функцию при совпадении координат. К примеру в таблице хранятся координаты первой кнопки: tbl = {Xmin = 10, Ymin = 10, Xmax = 15, Ymax = 15} При эвенте клика проверяем координаты эвента: if x >= tml.Xmin and y >= tbl.Ymin and x <= tbl.Xmax and y <= tbl.Ymax then ... end Для переключения между элементами при помощи стрелок просто элементы храним в таблице, а эвенты нажатия на стрелки запускают смещение + или - по таблице, соответственно подсвечивая выбранный элемент из координат в таблице. Вот пара туторов по СС: http://www.computercraft.info/forums2/index.php?/topic/11046-clickable-buttons-in-cc/ http://www.computercraft.info/forums2/index.php?/topic/16925-how-to-create-a-touch-screen-on-a-terminal/ Изменено 21 июля, 2015 пользователем Doob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
evgkul 571 Опубликовано: 21 июля, 2015 if touch_x > x1 and touch_x < x2 and touch_y > y1 and touch_y <y2 then print('Кнопка нажата') end Засунь это в event.listen Или реализуй управление с клавиатуры. Я буду очень рад Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 624 Опубликовано: 21 июля, 2015 if touch_x > x1 and touch_x < x2 and touch_y > y1 and touch_y <y2 then print('Кнопка нажата') end Засунь это в event.listen Или реализуй управление с клавиатуры. Я буду очень рад Ты плохой человек потому что тебе лень самому учиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 21 июля, 2015 Засел писать gui-библиотеку. Есть мысль сделать на ее основе систему визуального программирования 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zed Автор темы 133 Опубликовано: 22 июля, 2015 Засел писать gui-библиотеку. Есть мысль сделать на ее основе систему визуального программирования Было бы неплохо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Krutoy 1 169 Опубликовано: 26 июля, 2015 Засел писать gui-библиотеку. Есть мысль сделать на ее основе систему визуального программирования Не понял, еще один велосипед? Чем она будет лучше рабочего GML? Я тут планирую сделать GML одним файлом и сжать Crunch'ем. Будет и маленький и удобный. А когда допишу Арбузер это будет вообще бомба, которая будет лучше GML в разы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 27 июля, 2015 Не понял, еще один велосипед? Чем она будет лучше рабочего GML? Это будет не велосипед, а самокат. Смотрел я GML, он мне тяжеловатым показался для той задачи, которую решаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 27 июля, 2015 Это будет не велосипед, а самокат. Смотрел я GML, он мне тяжеловатым показался для той задачи, которую решаю. Пертолёт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 624 Опубликовано: 27 июля, 2015 Пертолёт.сделанный напильником... Из велосипеда... С костылями вместо винтов... С багом вместо пилота... 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Krutoy 1 169 Опубликовано: 27 июля, 2015 Смотрел я GML, он мне тяжеловатым показался Что значит "тяжеловат"? Много файлов? Большой вес файлов? Большое потребление оперативки и процессора? Сложная имплементация? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asummonster 592 Опубликовано: 27 июля, 2015 Что значит "тяжеловат"? Много файлов? Большой вес файлов? Большое потребление оперативки и процессора? Сложная имплементация? Лично я ничего не понял Нужны какие-то стили, даже вникать не хотелось. Куда проще просто написать createButton(x, y, weight, height, hotKey, function, data) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Krutoy 1 169 Опубликовано: 27 июля, 2015 Лично я ничего не понял Нужны какие-то стили, даже вникать не хотелось. Куда проще просто написать createButton(x, y, weight, height, hotKey, function, data) Разобраться как подключить стиль куда проще чем написать свой гуи. А обертку createButton можно и самому сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asummonster 592 Опубликовано: 27 июля, 2015 Разобраться как подключить стиль куда проще чем написать свой гуи. А обертку createButton можно и самому сделать. Да знаю я,что делается это легко. Но, всё-же, лишняя легкая либа не помешает, согласись Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 29 июля, 2015 (изменено) Что значит "тяжеловат"? Много файлов? Большой вес файлов? Большое потребление оперативки и процессора? Сложная имплементация? Да, действительно... Много файлов - библиотека, на мой взгляд, должна храниться в одном файле в папке lib, что бы пользователь не думал что куда разложить. Большой вес файлов - Мне казалось, что минимальный набор компонент можно реализовать гораздо меньшим кодом. Хотя на этот счет уже не уверен. Хотя... Большое потребление оперативки и процессора - не тестировал. Сложная имплементация - если не рассматривать упомянутые Асумонстром стили, использование библиотеки не слишком сложно даже для новичка. Интерфейс моей библиотеки существенно не отличается от GML, хотя использование некоторых компонент будет иное, заточенное под мои потребности. Разумеется, всё сказанное мной не отрицает библиотеку GML. Свою я делаю исключительно для удовольствия. Что получится, посмотрим. Изменено 29 июля, 2015 пользователем Zer0Galaxy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
evgkul 571 Опубликовано: 29 июля, 2015 Да знаю я,что делается это легко. Но, всё-же, лишняя легкая либа не помешает, согласись Там стиль можно не прописывать и там тоже есть gui:createButton Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах