Пятница, 26 Апреля 2024, 00:12

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Ваши проекты » Разработка движков и сред разработки » DBPro OOP Template (Проект закрыт) (Делаем DBPro из процедурного языка объекто-ориентированным)
DBPro OOP Template (Проект закрыт)
CrazyDazeGroutДата: Понедельник, 29 Августа 2011, 13:13 | Сообщение # 1
Spirit Of Beginning
Сейчас нет на сайте
Здравствуйте!
Наверное не для кого не секрет, что создание игры с большим количеством различных объектов в процедурных языках достаточно сложное, так как приходится отслеживать каждый объект в отдельности. И Dark Basic Professional не является исключением. Поэтому мной за время отдыха была создана идея встроенными средствами превратить его в объектно-ориентированнй язык. После того как идея получила детальное изложение, было решено перевести её в шаблон кода, основываясь на котором будут создаваться приложения.
Чтобы не быть голословным, вот список возможностей на текущий момент:
- Создание объектов;
- Обращение к параметрам объекта по именам;
- Логическое изменение параметров объектов(указатель класса.имя объекта.параметр = значение);
- Выборочное обновление нужного объекта;
- Выборочное уничтожение нужного объекта.


Список существующих классов и их параметров(пока только один класс):
dxsClass - (Direct X Sprites) - это не стандартные спрайты DBPro, а сторонние, более быстрые и более настраиваемые, хоть и использующие ту же технологию. Указатель класса (на данный момент) - obj.
- id - реальный номер спрайта в памяти компьютера;
- x - позиция спрайта по оси X;
- y - позиция спрайта по оси Y;
- width - ширина спрайта;
- height - высота спрайта;
- alpha - значение альфа-канала спрайта;
- angle - угол поворота спрайта;
- image - используемое спрайтом изображение.

Список существующих команд:
имя объекта = create("параметры") - создает новый объект. В качестве параметров к классу dxsClass используется путь к изображению;
update(имя объекта) - обновляет и отрисовывает объект согласно параметрам;
release(имя объекта) - освобождает объект и его ресурсы из памяти;

Пример присвоения параметра: obj(mySuperSprite).width = 200

Видео шаблона в действии:


Для тех кто не разглядел код на видео:


Публичное представление всего кода в настоящее время не предполагается!

Пишите предложения, пожелания, критику... Буду рад всему.




Сообщение отредактировал CrazyDazeGrout - Суббота, 03 Сентября 2011, 15:22
AGENTX001Дата: Понедельник, 29 Августа 2011, 14:26 | Сообщение # 2
почётный гцупер
Сейчас нет на сайте
хех, всегда дарк нравился)) продолжай!) а ешё вопросик - ты для 3д графы бушь такое делать?
ps возможно не в тему, но огромный недостаток ДБ - отсутствие мап эдитора, можит сделаешь?;)
CrazyDazeGroutДата: Понедельник, 29 Августа 2011, 14:31 | Сообщение # 3
Spirit Of Beginning
Сейчас нет на сайте
Для 3д-графики такое сделать не проблема, метод один и тот же. Сейчас в приоритете стоит сделать глобальное обновление всех объектов по классам, включая исключение освобожденных объектов (с этим немного сложнее). Сейчас делаю класс для текста (чтобы один раз указать параметры и не менять их каждый раз при новой строке).


CrazyDazeGroutДата: Пятница, 02 Сентября 2011, 19:21 | Сообщение # 4
Spirit Of Beginning
Сейчас нет на сайте
Небольшое обновление - добавлен класс label(указатель на него - lbl).
lblClass - (Label) - класс для создания текстовых надписей.. Указатель класса - lbl.
- line - строка, используемая лэйблом;
- x - позиция лэйбла по оси X;
- y - позиция лэйбла по оси Y;
- color - цвет лэйбла;
- style - стиль лэйбла. Возможные: 1(нормальное начертание), 2(курсивное), 3(жирное) и 4(курсивно-жирное);
- size - размер лэйбла.

Указатель на dxsClass изменен на dxs(логично, не так ли?).

Также забыл добавить, что создание объектов теперь осуществляется таким образом:
имя объекта = create("указатель класса::параметры")




Сообщение отредактировал CrazyDazeGrout - Суббота, 03 Сентября 2011, 15:17
CrazyDazeGroutДата: Суббота, 03 Сентября 2011, 15:17 | Сообщение # 5
Spirit Of Beginning
Сейчас нет на сайте
Проект закрыт. Причина - слишком высокая ресурсопотребность итоговой программы. Кому нужны исходники последней версии (не без багов, конечно), держите.
Тему скорее всего тоже нужно закрыть.


Форум игроделов » Ваши проекты » Разработка движков и сред разработки » DBPro OOP Template (Проект закрыт) (Делаем DBPro из процедурного языка объекто-ориентированным)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг