Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 25.09.2021 в Сообщения

  1. 1 балл
    OpenPeripheral предоставляет мощный функционал по созданию собственных интерфейсов в виде очков дополненной реальности "Terminal Glasses". К сожалению, полного списка функционала и всех нюансов по работе с этими очками не найти. Присутствуют некоторые отрывки, небольшие видео с результатами работы и прочие поделки. Но! Спустя пару бессонных ночей, декомпилированного кода и трёх литров чая, удалось описать полный функционал этих очков. Основные возможности очков и периферии: Отображение геометрических объектов различной сложности и цветовой гаммы. Отображение текста. Отображение жидкостей и предметов. Взаимодействие с мышью/клавиатурой. Чтение сообщений чата. Специальные команды чата, не отображающиеся в нем. Возможность индивидуальной работы с каждым пользователем терминала. Установка очков в любой шлем. Возможности данных очков я опишу по разделам, в лучших традициях вики Для начала, определю некоторые понятия. Система терминальных очков состоит из трёх предметов: терминала, очков, беспроводной клавиатуры. Терминал является центром всей системы, через него происходит общение между компьютером и очками. Также он хранит все данные интерфейса и пользователей. На очки выводится вся графическая информация, а сами очки передают сообщения или команды чата на терминал. Беспроводная клавиатура позволяет дополнить всю систему, своей возможностью контроля элементов при помощи клавиатуры и мыши. Как выводить информацию на очки: local com = require("component") local opb = com.openperipheral_bridge -- Построение интерфейса происходит во внутреннем буффере терминала (он же мост). local text = opb.addText(10, 10, "", 0xffef7f) -- Создаем компонент "Текст". -- Его нужно создать только один раз, в остальное время можно обращаться по ссылке и изменять любой параметр. local counter = 0 while true do -- В качестве примера будет выводится счетчик секунд. text.setText(tostring(counter)) -- Обновляем текста компонента. opb.sync() -- Для отображения графики на экране, необходимо отправить буффер на очки. os.sleep(1) -- Ждем секунду и прибавляем счетчик. counter = counter+1 end API Перед тем как перейти к API, нужно знать: Color:number -- Число в формате TrueColor RGB (по умолчанию 0xffffff). Opacity:number -- Прозрачность, число от 0.0 до 1.0 (по умолчанию 1). Знак '?' -- Опциональный параметр/функция. События Строковые константы VerticalAlignment:[TOP, MIDDLE, BOTTOM] HorizontalAlignment:[LEFT, MIDDLE, RIGHT] GuiElement:[OVERLAY, PORTAL, HOTBAR, CROSSHAIRS, BOSS_HEALTH, HEALTH, ARMOR, FOOD, MOUNT_HEALTH, AIR, EXPERIENCE, JUMP_BAR, OBJECTIVES] Структуры данных SimpleBox, ColoredPoint, Coord, User Абстрактные объекты Drawable, BoundedShape, Box Графические объекты Управление графическими объектами DrawableFactory, DrawableContainer Управление терминалом Вот такая шпаргалка по очкам, надеюсь пригодится
  2. 1 балл
    Coverett - библиотека для взаимодействия с HLAPI устройствами мода OpenComputers II. Что такое HLAPI устройство? Это новый тип устройств в OC2, к которому относятся большинство девайсов, вроде модулей для робота, красной карты, звуковой карты и прочих. Они управляются через "контроллер", который общается JSON сообщениями с компьютером через символьный файл-поток (по умолчанию "/dev/hvc0"). Для Lua автор уже добавил в систему библиотеку "devices", однако она не слишком быстра, как и Lua в целом. Для С (куда в первую очередь писалась библиотека) работа с JSON сообщениями - довольно утомительная задача. Coverett призван упростить общение с HLAPI устройствами в C и совместимых с ним языках. Разумеется, программы не станут от этого очень легкими в написании, C есть C. Однако, процесс разработки программ для OC2 заметно упростится. Сама по себе библиотека состоит только из "ядра" с набором стандартных функций. Наборы функций для устройств подключаются в виде отдельных "модулей" (папка devices) со своими заголовочными файлами (заголовки нужных устройств затем подключаются в исходнике программы). Поэтому, если вы очень хороший знаток C, то можете писать модули для своих устройств и подключать их к библиотеке при сборке. К сожалению на данный момент полноценная документация еще не готова (две руки - очень мало), но в заголовочных файлах библиотеки есть небольшие комментарии-описания (в формате doxygen), а также несколько программ-примеров, что немного поможет в работе с библиотекой. Также необходимо учесть, что библиотека находится в альфа-стадии. Поэтому не исключено наличие багов и (особенно) утечек памяти, поскольку ранее на C я практически не писал)). Репозиторий на GitHub. (Инструкция по сборке, а также собранная библиотека и программы находятся там) Немного про скорость:
  3. 1 балл
    Чтож, перевернул все и переделал на более правильный вариант, раз уж так. Нехорошо конечно менять систему библиотеки после выхода в публику, но пока прошло мало времени и никто не начал ей пользоваться, можно и поменять разок.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...