К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

2D графический движок SR2D.

0 - 15.02.2012 - 18:02
Хочу поделиться своей наработкой.
SR2D предназначен для использования при создании оконных 2D приложений. На настоящий момент SR2D состоит из модуля SR2D, класса Sprite и DLL - SR2D.dll. Для использования необходимо подключить к проекту указанные модуль и класс, а DLL разместить в папке проекта. Движок не использует для работы никаких API, кроме SetDiBitsToDevice, используемой для вывода изображения на экран (что значительно быстрее, чем Graphics). Он на 10% написан на C++ и на 90% на ассемблере с активным применением MMX.
Класс Sprite предназначен для хранения двумерного изображения с альфа каналом, различных его преобразований и отображения на форму PictureBox или просто битмэп.
Движок свободен для некоммерческого и коммерческого использования. Единственное условие - не переименовывать SR2D.dll.
Первоначально SR2D разрабатывался для применения под VB6, но сейчас я зарелизил уже третью версию, есть порты под VB6, C# и vb.net:
http://tuapse-mikle.narod.ru/SR2D/SR2D.zip
http://tuapse-mikle.narod.ru/SR2D/DPBM_CS.zip
http://tuapse-mikle.narod.ru/SR2D/DPBM_NET.zip

Для C# и vb.net пример пока один - DPBM:

Примеры готовых игр:
http://tuapse-mikle.narod.ru/BriX.zip
58 кБ.
http://tuapse-mikle.narod.ru/FlyGame.rar (блиц игра, написана за 4 часа)
74 кБ.
Игры написаны ещё на SR2D 2.0 на VB6.



1 - 20.05.2012 - 16:12
Версия 3.2:
http://tuapse-mikle.narod.ru/SR2D/DPBM_VB6.zip
http://tuapse-mikle.narod.ru/SR2D/DPBM_NET.zip
http://tuapse-mikle.narod.ru/SR2D/DPBM_CS.zip
1. В этой версии исправлен баг с сохранением в файл в Win7-64.
2. Изменён синтаксис команды LoadFromObject. Теперь она называется LoadFromIPicture, вместо параметра:

Source As Variantтеперь два параметра:
Src As IPicture, ByVal hDC As LongБлагодаря этому я избавился от позднего связывания, получил возможность грузить не только с PictureBox или Form, но и с любого контрола, не обладающего hDC, например с ImageBox. Вторым параметром можно передавать hDC формы или, к примеру, рабочего стола.
3. Добавилась процедура DrawLine. Меняя параметр DotStep, можно рисовать прерывистые линии, если установить параметр IsXor = True, то цвет будет получаться как Dest Xor Color. Если использовать Color = &H808080, то получается в любом случае цвет, контрастный с приёмником, если DrawLine с IsXor = True применить повторно, то приёмник полностью восстанавливается, можно не перерисовывать.
Гость
2 - 21.05.2012 - 08:12
...если делать XOR с цветом 0x808080 то получится тот же цвет. для цветов близких к 0x808080 нужна какая то другая процедура получения контрастных цветов... что нисколько не умаляет величины проделанной работы - просто прокомментировал, то что могу осмыслить)
3 - 21.05.2012 - 12:50
0x7f7f7f xor 0x808080 будет 0xffffff
0x818181 xor 0x808080 будет 0x010101
Да и на практике это проверено - линия контрастна на любом фоне.
Гость
4 - 21.05.2012 - 21:17
3 клас.
Гость
5 - 21.05.2012 - 21:21
всмысле, круто!
Гость
6 - 22.05.2012 - 09:03
3 - точно. это я про Not значит подумал)
7 - 06.09.2012 - 10:44
Приятная новость.
Разработчики FBSL - Freestyle Basic Script Language, портируют SR2D:
http://www.fbsl.net/phpbb2/viewtopic.php?f=33&t=2812


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены