Показать сообщение отдельно
Старый 27.08.2007, 15:49   #1
elmortem
Нуждающийся
 
Регистрация: 20.08.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Стрелка elmax 0.0.6 - тень фреймворка

Застолблю-ка я себе местечко в данной ветке... (:
Выкладываю пока первые наработки, может кто посмотрит-покритикует...

Для правильной работы нужен модифицированный модуль pub.libxml. Инстркция по инсталяции в архиве... (:

Version 0.0.6 (14.09.2007)

Внимание! Относительно прошлых версий изменены имена многий файлов - не копируйте поверх старый версий.

Вырезка из readme.txt:

Что уже умеем?

1. Инициализация из xml-конфига.
2. Менеджер ресурсов с загрузкой из xml.
3. Простенький GUI с загрузкой из xml.
3.1. Окно (CGuiWindow) - контейнер, содержит другие контролы.
3.2. Лейбл (CGuiLabel) - можно указать горизонтальное форматирование текста.
3.3. Кнопка (CGuiButton) - можно указать бэкграунд кнопки из 3 фреймов (нормальное состояние, наведение, нажатие), шрифт, текст надписи, её цвет и альфу.
3.3.1. Возможность указать скрипт, сработающий при нажатии на кнопку.
3.3.1. Возможность указать имя функции скрипта, сработающей при нажатии на кнопку.
3.4. Скролл (CGuiScroll) - можно задавать минимальное и максимальное значение каретки (minValue и maxValue), а так же устанавливать положение самой каретки (value).
3.5. Листбокс (CGuiList) - контейнер, может содержать только элементы, которые будут составлять список. Для таких элементов от CGuiCtrl отнаследован специальный класс CGuiListItem. Устанавливает этим элементам (x=0.0, y)-координаты в соответствии с их положением в листе.
3.5.1. Элемент листа Лэйбл (CGuiListItemLabel) - можно задать шрифт, текст, его цвет и альфу.
3.6. Текстовая кнопка (CGuiTextButton) - можно указать бэкграунд кнопки из 9 фреймов по 3 на состояние (нормальное состояние, наведение, нажатие), шрифт, текст надписи, её цвет и альфу. Серединка кнопки растягивается в зависимости от указанной ширины.
3.6.1. Возможность указать скрипт, сработающий при нажатии на кнопку.
3.6.1. Возможность указать имя функции скрипта, сработающей при нажатии на кнопку.
3.7. Строка ввода (CGuiInput) - в активном состоянии позволяет вводить текст (поддержка русского языка), можно указать бэкграунд из 9 фреймов по 3 на состояние (нормальное состояние, наведение, активное), шрифт, его цвет и альфу.
3.8. Чекбокс (CGuiCheck) - стандартный чекбокс.
3.9. Изображение (CGuiPicture) - загружает и рендерит спрайт.
4. Класс спрайта с поддержкой анимации. Поддерживает вывод отдельных фреймов.
5. Класс шрифта с поддержкой форматирования расположения (верх\низ\лево\право\ценрт) относительно указанных координат.
5.1. Содержит методы для работы с текстом в виде листов TList. TList нужен для быстрой работы с многострочным текстом.
6. Класс цвета с функиями конвертации из Byte в Float и обратно, извлечение RGBA-составляющих из Int.
7. Наметки будущего класса вектора.
8. Система частиц, основанная на отдельных эмиттерах, которые можно легко расширять.
8.1. Стандартный эмиттер.
8.2. Эмиттер, создающий частицы по чёрно-белой маске.
8.3. Эмиттер, колеблющий частицы по горизонтали, создавая эффект вращения в глубину.
9. Система виджетов (CWidget) для создания отдельных элементов проргаммы (меню, геймплей, диалоговые окна и т.д.).
9.1. Управление виджетами через скрипты.
9.2. Возможность добавлять виджет в модальном режиме (обновляется только он).
10. Управление программой через скриптовую систему (Lua).
10.1. Управление базовыми классами.
10.2. Управление виджетами.
10.3. Управление GUI.

Что будем уметь?

1. Эмиттер на скриптах для задания сложного поведения частицам.

Что будет ещё?

1. Гексогональная сетка с возможностью гибкого (у ячейки будет несколько параметров) поиска пути.
2. Универсальная система сохранения\загрузки игры. (в процессе)
2.1. Универсальная система профиля игрока.

Зачем всё это?

Мне нужен удобный инструмент для разработки казуальных игр. Если он ещё кому-то пригодится - можете поделиться со мной своей прибылью! ^__^
(Offline)
 
Ответить с цитированием