|
Библиотеки Сторонние библиотеки для Blitz |
02.02.2006, 22:57
|
#1
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Разбирал примеры програм из журнала Blitz Et Cetera и наткнулся на вот это:
;B2DtoB3D (замещение некоторых 2D функций в 3D-режиме) - John Pickford
;************************************************* ******************
;
; 2Din3D By J.Pickford - Freeware!
;..........................................
;
; A set of 2D sprite functions implemented in B3D
;
; Functions are intended to be VERY close to B2D commands to make
; conversion of B2D games easy
;
;
;
; This code is a work-in-progress. I hope to emulate more of the B2D
; functionality in future versions.
;
; Future Enhancements: Sprite Scaling, Rotation, Variable Alpha
;
;************************************************* *******************
|
попробовал... понравилась идея но не реализация...
Короче вот написал библу Image3D для работы с 2D графикой средствами 3D
Пользуйтесь
PS: лень было писать функции для работы с тайловой картой... это уж как-нибудь сами (если оно вам надо)
|
(Offline)
|
|
02.02.2006, 23:40
|
#2
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Вот:
; Библиотека для отображения 2д графики средствами Blitz3D
; Что есть в библиотеке:
; 1. Библиотека адаптирована почти под любое разрешение
; (если изображение отображается неточно при вашем разрешении то
; подбеоите значения переменных I3DPSX# и I3DPSY# в функции InitI3D()
; для вашего разрешения)
; 2. Поддержка анимарованных изображений
; 3. Поддержка вращения изображения
; 4. Поддержка прозрачности
; 5. Режим маски работает только с черным цветом ( смотрите описание функции CreateTexture() )
; 6. Определение столкновения изображений используя стандартную функцию RectsOverlap()
;
; Чего в библиотеке нехватает:
; 1. Определения столкновений между изображениями с учетом угла поворота
|
|
(Offline)
|
|
03.02.2006, 12:06
|
#3
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Вот обнавление библиотеки... кое что подправлено и кое что добавлено
; Image3D V 1.1
; Что есть в библиотеке:
; 1. Библиотека адаптирована почти под любое разрешение
; (если изображение отображается неточно при вашем разрешении то
; подбеоите значения переменных I3DPSX# и I3DPSY# в функции InitI3D()
; для вашего разрешения)
; 2. Поддержка анимарованных изображений
; 3. Поддержка вращения изображения
; 4. Поддержка прозрачности
; 5. Режим маски работает только с черным цветом ( смотрите описание функции CreateTexture() )
; 6. Определение столкновения изображений используя стандартную функцию RectsOverlap()
; 7. Создание пустых изображений (белого цвета) с последующим наложением текстуры
; 8. Копирование изображений
;
; Чего в библиотеке нехватает:
; 1. Определения столкновений между изображениями с учетом угла поворота
|
|
(Offline)
|
|
03.02.2006, 13:06
|
#4
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Не понял - какой аттач какачть?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
03.02.2006, 14:35
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Второй аттач
Там обновленная библа с обновленным примером... хотя картинки теже...
|
(Offline)
|
|
03.02.2006, 16:55
|
#6
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Короче этой библиотекой можно компенсировать работу с двумерной графикой, которая реализована в BlitzMAX, но я ее делал для реализации отображения статистики песонажа при незначительном снижении производительности (вместо изображения полигон с текстурой), причем координатная система остается тойже без заметных искажений... можете сравнить нарисовав рядом или поверх изображения Rect или туже картинку только стандартными средствами... к тому же, в отличии от стандартных средств, изменение размера кртинки происходит моментально за счет изменения положения вертексов, а не изменения размера текстуры... вот вобщем то и все
|
(Offline)
|
|
04.02.2006, 15:40
|
#7
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Так комунить нужна эта библа? Или мне прекратить над ней работу?
Судя по тому что скачало библу не более 5 человек... а по настоящему еще меньше то наверное она никого не интересует...
|
(Offline)
|
|
10.02.2006, 00:17
|
#8
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Библиотека просто супер! Меня порадовала. Но тут, явно на беду, я решил её посмотреть ( непосредственно программны код, а не её работу) - и О УЖАС! Я был в шоке, мой разум начал погружаться во тьму.
Из функции InitI3D() хитро прищуриваясь и плотоядно улыбаясь, на меня смотрела команда GOTO. Страх объял меня и началась пляска нервов.
О БЕЗУМИЕ!
Поучему бы не переписать эту фонкцию вот так:
Function InitI3D()
GWidth%=GraphicsWidth()
GWidth2%=GWidth%/2
GHeight%=GraphicsHeight()
GHeight2%=GHeight%/2
;Значения по умолчанию
I3DPSX#=0.15
I3DPSY#=0.15
;640x480
If (GWidth%=640) * (GHeight%=480) Then
I3DPSX#=0.15
I3DPSY#=0.15
;800x600
ElseIf (GWidth%=800) * (GHeight%=600) Then
I3DPSX#=0.15
I3DPSY#=0.15
;1024x768
ElseIf (GWidth%=1024) * (GHeight%=768) Then
I3DPSX#=0.1487
I3DPSY#=0.1487
;1028x960
ElseIf (GWidth%=1280) * (GHeight%=960) Then
I3DPSX#=0.15
I3DPSY#=0.15
;1280x1024
ElseIf (GWidth%=1280) * (GHeight%=1024) Then
I3DPSX#=0.15
I3DPSY#=0.15
EndIf
X0#=-GWidth2%*I3DPSX#
Y0#=GHeight2%*I3DPSY#
End Function
А так, очень даже симпотичная библочка.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
10.02.2006, 00:24
|
#9
|
Модератор
Регистрация: 13.09.2005
Сообщений: 1,835
Написано 6 полезных сообщений (для 10 пользователей)
|
Originally posted by impersonalis@9.2.2006, 23:17
О БЕЗУМИЕ!
|
и правда... это действие не обусловленно использовано!
|
(Offline)
|
|
10.02.2006, 01:30
|
#10
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Я могу ошибаться - но вроде как, InitI3D() можно заменить на вычисления по формуле ( юзая координаты проекции точки на экран) - как это сделано тут:
http://blitzetc.boolean.name/mblur.htm
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
10.02.2006, 22:39
|
#11
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Думаю использование оператора GOTO дело автора к тому же отрезок кода, в котором он использован очень маленький... так что ошибок из-за него не может возникнуть...
и еще... если существует этот оператор, то почему бы его не использовать
Библу кстати доделать надо... если время будет, то доделаю...
По моему в ней надо сделать автоматическое применение параметра Order... и еще думаю реализовать работу с Image3d как с обычными изображениями... т.е. рисование одной картинки много раз...
|
(Offline)
|
|
10.02.2006, 23:07
|
#12
|
|
2 imper : хватит на ежать на гото
ето обсудилось - блицу до заднего места есть ли там гото или нету
а вот в с++ может вызвать траблы с деконструкторами переменых и классов
|
|
|
10.02.2006, 23:22
|
#13
|
Модератор
Регистрация: 13.09.2005
Сообщений: 1,835
Написано 6 полезных сообщений (для 10 пользователей)
|
Originally posted by jimon@10.2.2006, 22:07
2 imper : хватит на ежать на гото
ето обсудилось - блицу до заднего места есть ли там гото или нету
а вот в с++ может вызвать траблы с деконструкторами переменых и классов
|
мне нравится использование гото в языках и случаях где это не приведёт к ошибкам... но надо менятся... и следить за стилем проганья!
|
(Offline)
|
|
11.02.2006, 00:04
|
#14
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
2jimon - сам ты деконструктор, деструктор!
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
11.02.2006, 11:55
|
#15
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
2pax: использование бибилотеки - дело юзера
не использовать этот опреатор стоит, уже хотя бы из тех соображений, что помимо него сущестует онструкция elseif, благодарая которой твой код стал, как минмиум, меньше на несколько строк.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:19.
|