forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   AlbaLynx [Xors3D GUI] (http://forum.boolean.name/showthread.php?t=12285)

wolfhound512 28.02.2011 14:14

Ответ: AlbaLynx [Xors3D GUI]
 
Версия 0.8.3.0

- Устранено зависание при нажатии Alt+Tab.
- Устранены ошибки отображения.
- Исправлена функции AddListItem(): не устанавливала имя созданному элементу.
--
Снова доступна версия для Blitz3D, но теперь ей требуется еще и FastEx.dll. Зато скорость работы увеличена в 4 раза. Возможно в будущем можно будет от нее отказаться.

Amatsu 28.02.2011 14:48

Ответ: AlbaLynx [Xors3D GUI]
 
Спасибо!

L.D.M.T. 28.02.2011 16:22

Ответ: AlbaLynx [Xors3D GUI]
 
Вложений: 1
протестил блитц-верисю...
то ли я не разобрался, то ли контекстное меню реально не работает.
еще один минус - команд стало просто реально докуя! еще отталкивает от использования оформление в сишном виде, ну это ладно...
за уменьшение размеров гуи - респект! но что-то с ним стало не ладно, когда я уменьшил его в 2 раза, скрин в аттаче.

moka 28.02.2011 19:40

Ответ: AlbaLynx [Xors3D GUI]
 
Цитата:

еще один минус - команд стало просто реально докуя!
В смысле много возможностей предоставляется библиотекой? Это разве минус?

wolfhound512 28.02.2011 19:41

Ответ: AlbaLynx [Xors3D GUI]
 
1) Контекстное меню работает, смотри пример "b3d_event_system.bb" для Хорса
2) Больше функционал - больше команд.
2а) Ориентируюсь не на блиц, его возможности как ЯП меня не радуют.
3) Все верно, система такая:
У гуи есть свои размеры, все что выходит за их пределы не отображается (и кликаться не должно, но я вроде бы этого не сделал).
Если ширина = 800, а масштаб по оси х = 0.5, то реальная ширина будет равна 400. Сделано чтобы гуи можно было выводить в определенной области (только еще начальные координаты надо добавить).
Если нужно чтобы размеры гуи совпадали с размерами окна, то меняй их в соответствии с масштабом, т.е. в данном случае SetGUIWidth(1600).

FDsagizi 28.02.2011 23:30

Ответ: AlbaLynx [Xors3D GUI]
 
Цитата:

Сообщение от MoKa (Сообщение 180933)
В смысле много возможностей предоставляется библиотекой? Это разве минус?

Если нет доков, то пожалуй да:-)

.Squid 28.02.2011 23:51

Ответ: AlbaLynx [Xors3D GUI]
 
Цитата:

Сообщение от FDsagizi (Сообщение 180974)
Если нет доков, то пожалуй да:-)

#if речь об AlbaLynx
Сначала скачай и посмотри, есть там доки или нет. Автор самым серьезнейшим образом относится к разработке и поддержке - многим бы поучиться.
#else
Спасибо за оффтоп. Нам очень важно Ваше мнение. Мы обязательно его учтем.
#endif

Amatsu 01.03.2011 09:15

Ответ: AlbaLynx [Xors3D GUI]
 
Да, документация там подробная, только имхо запутанная :) Минут пять втыкал где просто посмотреть команды создания всех элементов GUI. Но это все так, мелочи, главное что хэлп полный

wolfhound512 03.03.2011 19:44

Ответ: AlbaLynx [Xors3D GUI]
 
Цитата:

Сообщение от Amatsu (Сообщение 181021)
Да, документация там подробная, только имхо запутанная :) Минут пять втыкал где просто посмотреть команды создания всех элементов GUI. Но это все так, мелочи, главное что хэлп полный

Да, на первый взгляд она может показаться запутанной, но на главной странице есть ссылка "содержание справки". После простого просмотра названий пунктов в этом содержании все должно проясниться.
Если же есть предложения по улучшению структуры справки, буду рад выслушать.

Amatsu 02.04.2011 14:48

Ответ: AlbaLynx [Xors3D GUI]
 
Пытался подключить Blitz3D_Native версию ГУИ к блитцу в приложение, использующее FastImage и FastExt библиотеки. Программа крашится с ошибкой если использовать последовательность:
InitExt()
InitDraw()
AlbaLynx_Initiate()
И программа просто молча вылетает после появления логотипа ГУИ если убрать InitDraw():
InitExt()
AlbaLynx_Initiate()

wolfhound512 02.04.2011 16:49

Ответ: AlbaLynx [Xors3D GUI]
 
Не надо вызывать:
InitExt()
InitDraw()

Они вызываются в AlbaLynx_Initiate().

Amatsu 02.04.2011 17:19

Ответ: AlbaLynx [Xors3D GUI]
 
Цитата:

Сообщение от wolfhound512 (Сообщение 184562)
Не надо вызывать:
InitExt()
InitDraw()

Они вызываются в AlbaLynx_Initiate().

Пробовал, в этом случае логотип ГУИ висит и не сменяет на картинку геймплея. Только если водить окно за экран - тогда голо гуи стирается и под ним появляется один статичный кадр игры.
Кажется разобрался. Но есть еще один косяк, именно по совместимости гуи с моим кодом. Если не разберусь - напишу

Amatsu 02.04.2011 18:03

Ответ: AlbaLynx [Xors3D GUI]
 
В общем косяк в том, что если я врубаю AlbaLynx, у меня перестает отображаться имедж, в который я рендерю 3д модель:
Код:

  char\img_tex%=CreateTexture(render_image_w,render_image_h,1+2+256+FE_ExSIZE+FE_RENDER+FE_ZRENDER)
  char\image%=CreateImageEx(char\img_tex,render_image_w,render_image_h,FI_MIDHANDLE Or FI_FILTEREDIMAGE)

  SetBuffer TextureBuffer(char\img_tex)
  ClsColor 0,0,0,0
  Cls
  CameraClsMode camera,0,0

  ShowEntity char\pivot
  RenderEntity char\pivot,camera
  HideEntity char\pivot

  SetBuffer BackBuffer()

Если исправлять проблемно - мне не к спеху

wolfhound512 02.04.2011 19:16

Ответ: AlbaLynx [Xors3D GUI]
 
Проверил вот такой код:
Код:

Include "AlbaLynx.bb"
Include "include\FastImage.bb"
Include "include\FastExt.bb"

AppTitle("AlbaLynx Blitz3D Native Sample");
Graphics3D(800, 600, 32, 2);

SetFont( LoadFont("Arial CYR",14) );

;InitExt()
;InitDraw()
AlbaLynx_Initiate();
objLoaded = alLoadTemplates("../../Media/default.xml");
desktop = alCreateGDesktop(AlbaLynx_Version());
btn_exit = alCreateGButton(desktop, "Exit", 0, 0, -1, -1);
alSetPosition( btn_exit, alGetWidth(desktop) - alGetWidth(btn_exit) - 20, alGetHeight(desktop) - alGetHeight(btn_exit) - 20);

cam = CreateCamera();
cub = CreateCube();
light = CreateLight();
RotateEntity(light, 10, 0, 0);
CameraClsColor(cam, 50, 100, 150);
PositionEntity(cam, 3, 3, 3);
PointEntity(cam, cub);
img_tex%=CreateTexture(256, 256, 1+2+256+FE_ExSIZE+FE_RENDER+FE_ZRENDER)
image%=CreateImageEx( img_tex, 256, 256, FI_MIDHANDLE Or FI_FILTEREDIMAGE)

While (KeyHit(1)=False)
        SetBuffer TextureBuffer(img_tex)
        ClsColor 0,0,0,0
        Cls
        CameraClsMode cam,0,0
        RenderWorld()
        ;RenderEntity cube, cam
        SetBuffer BackBuffer()

        CameraClsMode (cam, 1, 1);
        RenderWorld()
        AlbaLynx_Update()
       
        StartDraw()
        DrawImageEx(image, 200, 200)
        EndDraw()
       
        Flip()
Wend

End


Работает нормально.
Если же заменить "RenderWorld()" на "RenderEntity cube, cam", то в текстуру ничего не рендерится вне зависимости от того использую я ГУИ или нет

Amatsu 02.04.2011 19:31

Ответ: AlbaLynx [Xors3D GUI]
 
Цитата:

Сообщение от wolfhound512 (Сообщение 184576)
Проверил вот такой код:
Код:

Include "AlbaLynx.bb"
Include "include\FastImage.bb"
Include "include\FastExt.bb"

AppTitle("AlbaLynx Blitz3D Native Sample");
Graphics3D(800, 600, 32, 2);

SetFont( LoadFont("Arial CYR",14) );

;InitExt()
;InitDraw()
AlbaLynx_Initiate();
objLoaded = alLoadTemplates("../../Media/default.xml");
desktop = alCreateGDesktop(AlbaLynx_Version());
btn_exit = alCreateGButton(desktop, "Exit", 0, 0, -1, -1);
alSetPosition( btn_exit, alGetWidth(desktop) - alGetWidth(btn_exit) - 20, alGetHeight(desktop) - alGetHeight(btn_exit) - 20);

cam = CreateCamera();
cub = CreateCube();
light = CreateLight();
RotateEntity(light, 10, 0, 0);
CameraClsColor(cam, 50, 100, 150);
PositionEntity(cam, 3, 3, 3);
PointEntity(cam, cub);
img_tex%=CreateTexture(256, 256, 1+2+256+FE_ExSIZE+FE_RENDER+FE_ZRENDER)
image%=CreateImageEx( img_tex, 256, 256, FI_MIDHANDLE Or FI_FILTEREDIMAGE)

While (KeyHit(1)=False)
        SetBuffer TextureBuffer(img_tex)
        ClsColor 0,0,0,0
        Cls
        CameraClsMode cam,0,0
        RenderWorld()
        ;RenderEntity cube, cam
        SetBuffer BackBuffer()

        CameraClsMode (cam, 1, 1);
        RenderWorld()
        AlbaLynx_Update()
       
        StartDraw()
        DrawImageEx(image, 200, 200)
        EndDraw()
       
        Flip()
Wend

End


Работает нормально.
Если же заменить "RenderWorld()" на "RenderEntity cube, cam", то в текстуру ничего не рендерится вне зависимости от того использую я ГУИ или нет

В том то и дело что без использования GUI у меня рендерится командой RenderEntity

Моделька персонажа - спрайт, отрендеренный тем самым способом.
В принципе я щас попробую переделать код, чтобы использовать просто рендерворлд


Часовой пояс GMT +4, время: 06:31.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot