ECS Автор темы 1 900 Опубликовано: 4 марта, 2022 Этот параметр сообщает экранному буферу, что нужно отобразить не только изменившиеся с последней отрисовки пиксели, а вообще все сразу. Обычно эта необходимость возникает при запуске скриптов, работающих с GPU напрямую в обход концепции экранного буфера. То есть в случае майноси практически никогда. Разве что для каких-нибудь старых игр или скринсейверов фича может быть востребованной... В доке по workspace он указан, хотя и без пояснений. Могу добавить инфу на всякий, если нужно: 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kaka888 10 Опубликовано: 5 марта, 2022 В 04.03.2022 в 10:34, ECS сказал: Этот параметр сообщает экранному буферу, что нужно отобразить не только изменившиеся с последней отрисовки пиксели, а вообще все сразу. Обычно эта необходимость возникает при запуске скриптов, работающих с GPU напрямую в обход концепции экранного буфера. То есть в случае майноси практически никогда. Разве что для каких-нибудь старых игр или скринсейверов фича может быть востребованной... В доке по workspace он указан, хотя и без пояснений. Могу добавить инфу на всякий, если нужно: Теперь всё стало ясно, спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kaka888 10 Опубликовано: 7 марта, 2022 Наткнулся на печальные баги При добавлении строки меню (GUI.menu) в titledWindow окно превращается в обычный GUI.window, то есть исчезает вся шапка окна (заголовок окна, фон и три кнопки close, maximize...). Таким же образом добавил менюшку в tabbedWindow - эффект похожий (тёмно-серая шапка с кнопками и вкладками обрезается на треть). В обоих случаях меню, конечно, рисуется, но мне и шапка окна нужна. Что же делать? Вот скрины: https://imgur.com/a/8kFBjXq Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ECS Автор темы 1 900 Опубликовано: 7 марта, 2022 22 часа назад, kaka888 сказал: Наткнулся на печальные баги Печальные баги - это, видимо, GUI.menu(1, 1, ...) вместо GUI.menu(1, 2, ...)? Ты же сам расположил менюху на Y = 1, где уже чиллит титловая строка. Разумеется, менюха ее перекрыла На всякий случай уточню, что гуйка работает с заранее известными координатами и размерами всех объектов, ничего не рассчитывая автоматически без ведома кодера - это не WPF/UWP с адаптивной версткой, т.к. ресурсы компов люто лимитированы. Исключения, конечно, есть в виде всяких GUI.layout или GUI.table, но это капля в море. Поэтому любая смена позиции или ресайз виджетов требует ручной обработки А, и еще кое-что: GUI.titledWindow / tabbedWindow и иже с ними - просто шаблоны, которые создаются буквально в 10 строчек кода на основе базового объекта окна GUI.window, но с учётом твоих личных нужд. В них попросту заранее выставлены нужные координаты и подогнаны размеры, ничего более 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kaka888 10 Опубликовано: 7 марта, 2022 35 минут назад, ECS сказал: Печальные баги - это, видимо, GUI.menu(1, 2, ...) вместо GUI.menu(1, 1, ...)? Ты же сам расположил менюху на Y = 1, где уже чиллит титловая строка. Разумеется, менюха ее перекрыла На всякий случай уточню, что гуйка работает с заранее известными координатами и размерами всех объектов, ничего не рассчитывая автоматически без ведома кодера - это не WPF/UWP с адаптивной версткой, т.к. ресурсы компов люто лимитированы. Исключения, конечно, есть в виде всяких GUI.layout или GUI.table, но это капля в море. Поэтому любая смена позиции или ресайз виджетов требует ручной обработки А, и еще кое-что: GUI.titledWindow / tabbedWindow и иже с ними - просто шаблоны, которые создаются буквально в 10 строчек кода на основе базового объекта окна GUI.window, но с учётом твоих личных нужд. В них попросту заранее выставлены нужные координаты и подогнаны размеры, ничего более Какое облегчение, я уж думал версия для OpenOS настолько несовершенна :DD Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Teen_Romance 4 Опубликовано: 15 мая, 2022 (изменено) Мне нужно нарисовать текст(не статический) размером 1\3 высоты экрана. Как бы это лучше всего реализовать? Есть идея построчно рисовать ASCII символами, но решил спросить тут. Должны быть варианты получше. Изменено 15 мая, 2022 пользователем Teen_Romance Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ECS Автор темы 1 900 Опубликовано: 15 мая, 2022 57 минут назад, Teen_Romance сказал: Мне нужно нарисовать текст размером 1\3 высоты экрана. Как бы это лучше всего реализовать? Есть идея построчно рисовать ASCI символами, но решил спросить тут. Должны быть варианты получше. local event = require("event") local unicode = require("unicode") local component = require("component") local screen = component.screen local gpu = component.gpu -- Отображаемый текст local text = "Hehe u cute" -- Разрешение по высоте, на основе которого будет подобрана "идеальная" ширина -- Т.к. строка всего одна, она как раз займет 1/3 высоты экрана local height = 3 -- Получаем компоновку мульти-блочного экрана и его пиксельную пропорцию -- Инфа по формуле, если интересно: https://computercraft.ru/topic/2413-kak-ubrat-chyornye-polosy-po-krayam-ekrana-opencomputers/ local aspectWidth, aspectHeight = screen.getAspectRatio() local proportion = 2 * (16 * aspectWidth - 4.5) / (16 * aspectHeight - 4.5) -- Рассчитываем разрешение по ширине на основе высоты и пропорции local width = math.floor(height * proportion) -- Чистим экран gpu.setResolution(width, height) gpu.setBackground(0x220000) gpu.setForeground(0xFFFFFF) gpu.fill(1, 1, width, height, " ") -- Рисуем текст по центру gpu.set(math.ceil(width / 2 - unicode.len(text) / 2), math.ceil(height / 2), text) -- Ждем интерактива от юзера while event.pull() ~= "touch" do end 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Teen_Romance 4 Опубликовано: 15 мая, 2022 (изменено) @ECS спасибо за ответ. My bad я не до конца написал что хочу. Большой текст должен находиться на одном экране с текстом поменьше. В центре что то вроде счетчика и сбоку кнопочки и обычный текст. https://prnt.sc/-4Lfi8jY5bSP Изменено 15 мая, 2022 пользователем Teen_Romance Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ECS Автор темы 1 900 Опубликовано: 15 мая, 2022 14 минуты назад, Teen_Romance сказал: @ECS спасибо за ответ. My bad я не до конца написал что хочу. Большой текст должен находиться на одном экране с текстом поменьше. В центре что то вроде счетчика и сбоку кнопочки и обычный текст. https://prnt.sc/-4Lfi8jY5bSP Зараза! Ну, тогда только ручная растеризация символов, да. Я от недалекого ума эту фичу напрямую через двумерные таблички реализовал. Может, у тебя получится более грамотное решение https://github.com/IgorTimofeev/MineOS/blob/master/Libraries/BigLetters.lua 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zigo 0 Опубликовано: 12 февраля Приветствую @ECS , похоже что пастбин забанил Ваш установщик библиотек. Мне был необходим GUI для пары экспериментов, но похоже что простого способа его установки сейчас нет? Pastebin.com - Not Found (#404) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Bumer_32 35 Опубликовано: 12 февраля 17 часов назад, Zigo сказал: Приветствую @ECS , похоже что пастбин забанил Ваш установщик библиотек. Мне был необходим GUI для пары экспериментов, но похоже что простого способа его установки сейчас нет? Pastebin.com - Not Found (#404) вродеб всём что осталось только тут: https://github.com/IgorTimofeev/GUI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zigo 0 Опубликовано: 12 февраля 5 часов назад, Bumer_32 сказал: вродеб всём что осталось только тут: https://github.com/IgorTimofeev/GUI Я брал с текущей разработки, не со старых ресурсов. Буквально по той же самой ссылке которой посвящена данная тема GUI/README.md at 0fadb161469d404d477dd9babfdc9a5aa42ff203 · IgorTimofeev/GUI · GitHub пастбинский инстайлер, ставящий все зависимости вместе с самой библиотекой, недоступен. а поскольку я тут делаю очередной интерфейс взаимодействующий с апплайтом и мне требуется поставить несколько разных систем, мне необходим простой способ установки gui, со всеми зависимостями сразу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ECS Автор темы 1 900 Опубликовано: 13 февраля В 12.02.2024 в 04:07, Zigo сказал: похоже что пастбин забанил Ваш установщик библиотек Да, пару лет назад снесли аккаунт. Исходников инсталлера нет, библиотека забыта, саппорта не будет, репозиторий в архиве, писать заново лень. Так что придётся самому 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах