mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2026-01-06 11:12:40 +01:00
85 lines
5.9 KiB
Markdown
85 lines
5.9 KiB
Markdown
Инструкция по установке MineOS:
|
||
-----------------------------------------------------------
|
||
|
||
Перед установкой убедитесь, что ваш компьютер соответствует минимальной конфигурации:
|
||
|
||
| Устройство | Tier | Количество, шт |
|
||
| ----- | ----- | ----- |
|
||
| Системный блок | 3 | 1 |
|
||
| Экран | 3 | 1 |
|
||
| Клавиатура | 1 | 1 |
|
||
| Центральный процессор | 3 | 1 |
|
||
| Видеокарта | 3 | 1 |
|
||
| Оперативная память | 3.5 | 2 |
|
||
| Интернет-карта | 2 | 1 |
|
||
| EEPROM (Lua BIOS) | 1 | 1 |
|
||
| Дискета с OpenOS | 1 | 1 |
|
||
|
||
Также рекомендуется добавить беспроводной модем для объединения компьютеров в домашнюю сеть.
|
||
|
||
Если вы используете какие-либо модификации, предоставляющие энерго-систему (IC2, TE, IE, Mekanism и т.п.), то вам также потребуется преобразователь энергии и ее источник. В итоге собранная система и конфигурация компонентов системного блока должны выглядеть схожим образом:
|
||
|
||

|
||
|
||

|
||
|
||
Теперь вы можете включить компьютер. По умолчанию загрузится операционная система OpenOS со вставленной дискеты, вам остается лишь установить ее на жесткий диск по аналогии с установкой реальной ОС. Используйте команду **install**:
|
||
|
||

|
||
|
||
После окончания процедуры установки вам будет предложено сделать жесткий диск загрузочным, а также перезагрузить компьютер. Соглашайтесь, после перезагрузки вы можете приступать к установке MineOS. Для этого введите в консоль команду:
|
||
|
||
pastebin run 0nm5b1ju
|
||
|
||
Компьютер будет проанализирован на соответствие минимальным требованиям, после чего перед вами откроется симпатичный установщик. Вы можете изменить некоторые системные опции на свой вкус, и, согласившись с лицензионным соглашением, установить MineOS:
|
||
|
||

|
||
|
||
Как создавать приложения MineOS
|
||
-----------------------------------------------------------
|
||
|
||
Каждое приложение MineOS - это директория с расширением **.app**, имеющая следующее содержимое:
|
||
|
||

|
||
|
||
Файл **Main.lua** исполняется при запуске приложения, а **Icon.pic** используется для отображения иконки на рабочем столе и в проводнике. Самый простой способ создать приложение - это кликнуть на соответствующую опцию в контекстом меню:
|
||
|
||

|
||
|
||
Вам будет предложено выбрать имя вашего приложения, а также его иконку. Если иконка не выбрана, то будет использована системная. Для изменения исходного кода приложения достаточно отредактировать файл **Main.lua**. В примере ниже мы будем использовать методы системных библиотек **[GUI](https://github.com/IgorTimofeev/OpenComputers/blob/master/Documentation/GUI.md)**, **[MineOSInterface](https://github.com/IgorTimofeev/OpenComputers/blob/master/Documentation/MineOSInterface.md)** и **[doubleBuffering](https://github.com/IgorTimofeev/OpenComputers/blob/master/Documentation/doubleBuffering.md)**, поэтому базовое ознакомление с ними крайне рекомендуется:
|
||
|
||
```lua
|
||
|
||
local GUI = require("GUI")
|
||
local buffer = require("doubleBuffering")
|
||
local MineOSInterface = require("MineOSInterface")
|
||
|
||
------------------------------------------------------------------------------------------------------
|
||
|
||
local mainContainer, window = MineOSInterface.addWindow(MineOSInterface.filledWindow(1, 1, 88, 26, 0xF0F0F0))
|
||
|
||
-- Создаем лейаут для автоматического расположения элементов интерфейса
|
||
local layout = window:addChild(GUI.layout(1, 1, window.width, window.height, 1, 1))
|
||
-- Создаем текстовый лейбл, в котором будем отображать количество нажатий на кнопку
|
||
local label = layout:addChild(GUI.label(1, 1, window.width, 1, 0x0, "")):setAlignment(GUI.alignment.horizontal.center, GUI.alignment.vertical.top)
|
||
-- Создаем саму кнопку
|
||
local button = layout:addChild(GUI.roundedButton(1, 1, 32, 3, 0xBBBBBB, 0xFFFFFF, 0x999999, 0xFFFFFF, "Нажми на меня"))
|
||
|
||
-- Создаем callback-функцию, вызываемую при нажатии на кнопку
|
||
local counter = 0
|
||
button.onTouch = function()
|
||
label.text = "Число нажатий: " .. counter
|
||
counter = counter + 1
|
||
|
||
mainContainer:draw()
|
||
buffer.draw()
|
||
end
|
||
|
||
-- Разово обновляем текстовые данные лейбла
|
||
button.onTouch()
|
||
```
|
||
|
||
Вуаля! Ваше первое оконное приложение готово:
|
||
|
||

|