| Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
lm2:ce:t_struct [2020/08/05 17:05] ruben |
lm2:ce:t_struct [2020/11/30 14:12] (текущий) |
| файл c lua-кодом для запуска --> | файл c lua-кодом для запуска --> |
| <VM | <VM |
| ID="main" | ID="main" |
| Visual="panels.xml" | Visual="panels.xml" |
| StartupLayout="viewports.xml" | StartupLayout="viewports.xml" |
| StartupLogic="start.lua"> | StartupLogic="start.lua"> |
| </VM> | </VM> |
| <!-- элемент шрифта, задаются следующие свойства: уникальный идентификатор, | <!-- элемент шрифта, задаются следующие свойства: уникальный идентификатор, |
| Напишите код сами, а не просто скопируйте его, так лучше запоминается. | Напишите код сами, а не просто скопируйте его, так лучше запоминается. |
| |
| ==== Файл конфигурации окон ==== | **Файл конфигурации окон** |
| |
| Основная статья "[[:lm2:ce:s_win|Конфигурация окон]]". В папку configs создайте viewports.xml. Название файла должно совпадать с название, указанным в главном конфигурационном файле. Определим окно на первом мониторе (если у вас несколько мониторов) с разрешением 800×480. Файл должен содержать следующий код: | Основная статья "[[:lm2:ce:s_win|Конфигурация окон]]". В папку configs создайте viewports.xml. Название файла должно совпадать с названием, указанным в главном конфигурационном файле. Определите окно на первом мониторе (если у вас несколько мониторов) с разрешением 800×480. Файл должен содержать следующий код: |
| <code xml> | |
| |
| | <code xml> |
| <!-- объявление xml --> | <!-- объявление xml --> |
| <?xml version="1.0" encoding="utf-8" standalone="yes"?> | <?xml version="1.0" encoding="utf-8" standalone="yes"?> |
| <ViewPort Monitor="0,0" ID="main_viewport" /> | <ViewPort Monitor="0,0" ID="main_viewport" /> |
| </root> | </root> |
| | |
| | |
| | </code> |
| | |
| | **Файл описания панелей** |
| | |
| | Основная статья "[[:lm2:ce:s_panels|Описание панелей]]". Создайте в папке configs файл panels.xml. Название файла должно совпадать с названием, указанным в главном конфигурационном файле. Необходимо подключить библиотеку элементов, файл со строковыми данными, описать панель с фоном, логотипом и кнопкой. Файл должен содержать следующий код: |
| | |
| | <code xml> |
| | <!-- объявление xml --> |
| | <?xml version="1.0" encoding="utf-8" standalone="yes"?> |
| | <!-- корневой элемент --> |
| | <root> |
| | <!-- элемент подключающий строковые данные --> |
| | <Text FileName="text.xml"/> |
| | <!-- элемент подключающий библиотеку элементов --> |
| | <Library FileName="templates.xml"/> |
| | <!-- элемент родитель панелей --> |
| | <GUI> |
| | <!-- элемент описывающий панель, задается следующее свойство: размеры |
| | вьюпорта, на который будет выводиться панель --> |
| | <Panel ID="main" VPWidth="800" VPHeight="480"> |
| | <Comment>Empty project main panel</Comment> |
| | <!-- элемент на панели, задаются следующие свойства: уникальный идентификатор, |
| | идентификатор элемента из библиотеки элементов --> |
| | <Entry ID="bg" TypeID="bg"> |
| | <Comment>Panel background</Comment> |
| | </Entry> |
| | <!-- элемент на панели, задаются следующие свойства: уникальный идентификатор, |
| | идентификатор элемента из библиотеки элементов, положение на панели --> |
| | <Entry ID="btExit" TypeID="button" Top="300" Left="300"/> |
| | <!-- элемент на панели, задаются следующие свойства: уникальный идентификатор, |
| | идентификатор элемента из библиотеки элементов, положение на панели --> |
| | <Entry ID="Logo" TypeID="logo" Top="60" Left="60"/> |
| | </Panel> |
| | </GUI> |
| | </root> |
| | |
| | |
| | </code> |
| | |
| | **Файл с библиотекой элементов** |
| | |
| | Основная статья "[[:lm2:ce:s_templates|Библиотека элементов]]". Создайте в папке configs файл templates.xml. Название файла должно совпадать с названием, указанным в файле описания панелей. Необходимо описать элементы на панели. Файл должен содержать следующий код: |
| | |
| | <code xml> |
| | <!-- объявление xml --> |
| | <?xml version="1.0" encoding="utf-8" standalone="yes"?> |
| | <!-- корневой элемент --> |
| | <root> |
| | <!-- объявление библиотеки --> |
| | <Library> |
| | <!-- элемент библиотеки, задаются следующие свойства: уникальный идентификатор, |
| | размеры элемента, --> |
| | <Element ID="bg" Width="800" Height="480"> |
| | <Comment>Background</Comment> |
| | <!-- подэлемент прямоугольник, задаются следующие свойства: уникальный идентификатор, |
| | размеры и положение, цвет, цвет заливки, толщина контура, радиус закругления углов --> |
| | <Rectangle ID="bg" Rect="50,50,700,380" Color="white" BGColor="black" Thickness="1" CornerRadius="10"/> |
| | <!-- подэлемент текстовое поле, задаются следующие свойства: уникальный идентификатор, |
| | размер и положение, идентификатор, строковых данных, шрифт, кегль, выравнивание --> |
| | <TextBox ID="text" Rect="full" TextTID="txtEmptyProject" Font="Default" Size="60" Align="Center" VAlign="Center"/> |
| | </Element> |
| | <!-- элемент библиотеки, задаются следующие свойства: уникльный идентификатор, |
| | размеры элемента --> |
| | <Element ID="button" Width="200" Height="80"> |
| | <!-- подэлемент прямоугольник, задаются следующие свойства: уникальный идентификатор, |
| | размеры и положение, цвет, цвет заливки, толщина контура, радиус закругления углов --> |
| | <Rectangle ID="bg" Rect="full" Color="white" BGColor="black" Thickness="2" CornerRadius="5"/> |
| | <!-- подэлемент текстовое поле, задаются следующие свойства: уникальный идентификатор, |
| | размер и положение, идентификатор, строковых данных, шрифт, кегль, выравнивание --> |
| | <TextBox ID="text" Rect="full" TextTID="txtExit" Font="Default" Size="30" Align="Center" VAlign="Center"/> |
| | </Element> |
| | <!-- элемент библиотеки, задаются следующие свойства: уникльный идентификатор, |
| | размеры элемента --> |
| | <Element ID="logo" Width="369" Height="595" Scale="0.25"> |
| | <!-- подэлемент изображение, задаются следующие свойства: размеры и положение, путь к рендеру --> |
| | <Image Rect="full" Source="logo.png"/> |
| | </Element> |
| | </Library> |
| | </root> |
| | |
| | |
| | </code> |
| | |
| | **Файл со строковыми данными** |
| | |
| | Основная статья "[[:lm2:ce:s_text|Строковые данные]]". Создайте в папке configs файл text.xml. Название файла должно совпадать с названием, указанным в файле описания панелей. Необходимо добавить все строковые поля. Файл должен содержать следующий код: |
| | |
| | <code xml> |
| | <!-- объявление xml --> |
| | <?xml version="1.0" encoding="utf-8" standalone="yes"?> |
| | <!-- корневой элемент --> |
| | <root> |
| | <!-- строковые данные, задается следующее свойство: уникальный идентификатор --> |
| | <Text ID="txtEmptyProject"> |
| | <!-- языковая версия, задается следующие свойства: язык, текст --> |
| | <Entry Lang="ru" Value="Пустой проект" /> |
| | <Entry Lang="en" Value="Empty project" /> |
| | </Text> |
| | <!--строковые данные, задается следующие свойства: уникальный идентификатор --> |
| | <Text ID="txtExit"> |
| | <!-- языковая версия, задается следующиее свойство: язык, текст --> |
| | <Entry Lang="ru" Value="Выход" /> |
| | <Entry Lang="en" Value="Exit" /> |
| | </Text> |
| | </root> |
| | |
| | |
| | </code> |
| | |
| | **Lua-код** |
| | |
| | Основная статья"[[:lm2:ce:s_lua|Lua-код]]". Создайте в папке configs файл start.lua. Название файла должно совпадать с названием, указанным в главном конфигурационном файле. Необходимо привязать панель к вьюпорту, описать обработчик кнопки и привязать обработчик к собитию. Файл должен содержать следующий код: |
| | |
| | <code lua> |
| | -- привязка панели |
| | Panel('main_viewport', 'main') |
| | -- обработчик нажатия на кнопку |
| | function H_Exit(_ev) |
| | sys.Exit() |
| | end |
| | -- привязка обработчика к событию |
| | AddEventHandler('main.btExit.Mouse.LeftPress', 'H_Exit') |
| | |
| |
| </code> | </code> |