|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2018/3/30 15:24:41 |
标题: |
有没有朋友在用Tulip-UI这套Asphyre的UI组件 |
浏览:3252 |
|
加入我的收藏 |
楼主: |
这套组件目前基于VCL,只支持win32, win64 今天花了些时间把它改造得可以在FMX工程里正常运行
但是还有一些什么手势之类的没弄,而且只是简单改造,listbox之类的都还没去测试。
有没有朋友熟悉这个,而且有兴趣的,一起把这个完善一下。
----------------------------------------------
虽千万人吾往矣! |
作者: |
|
2018/3/30 15:27:18 |
1楼: |
这是改造后的,原版是两年前作者上传到github上的,原版地址和作者网站如下: https://github.com/marquitospt/tulip http://tulip-ui.azurewebsites.net/?p=3171
编辑器可以在作者网站下载到,不过很可惜,没有编辑器的源码。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/3/30 18:00:28 |
2楼: |
为什么不直接用FMX
----------------------------------------------
18114532@qq.com
|
作者: |
|
2018/3/30 18:21:53 |
3楼: |
@abcjingtong: 1、看过某位前辈说,FMX这套并不是给游戏用的,所以最底层的渲染部分写的非常糟糕,首先就不敢用了。 2、FMX用来画线、三角形什么的还可以,比较方便,但是图像渲染、资源管理这些自己还要做很多事情。 3、最关键的是,Asphyre这套学了很久了,很多东西都用的熟悉了,FMX一片空白。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/3/30 21:37:07 |
4楼: |
asphyre的老版本用过,写过游戏。后来它改了,资源管理器什么的全改了吧,就没再用过了:)现在用HGE写游戏,不过HGE不支持多平台,新的asphyre支持全平台!
----------------------------------------------
你我,都可以是个造梦者!欢迎加入脚本引擎PaxCompiler交流群303904495http://www.cnblogs.com/fireboxsoft有需要错别字检测软件的朋友可以在我博客上的地址下载使用,备注“2ccc”的朋友可以免费获取超级黄金VVVVVVVVVVIP授权
|
作者: |
|
2018/3/31 14:54:59 |
5楼: |
新版本改了不少,首先图片组件就大改了,几乎全新一套。 我算比较晚玩这个引擎的,从4.x开始,作者多年没出新版本,12年的时候,有人搞了个可以在android上运行的版本,到15年作者推出了全新的版本(pxl),支持全平台。 只是这个引擎还是中文支持还是很不好,我多次在pgd论坛上找作者反馈,但是作者一直没处理。去年我因为一个工具需要,自己接入了freetype,目前运行良好。昨天改完tulip这套UI组件,然后顺便把freetype在fmx的测试项目上跑了一下(去掉了win平台的相关引用),没问题。 脚本方面用simplelua(跨平台) 声音库也找了个跨平台的开源库,支持ogg等多种声音格式
做手游基本上没太多障碍了
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/3/31 16:27:13 |
6楼: |
PXL摸索了不少时间, 感觉非常不错, 比如它自己实现的canvas ,比fmx的好用太多 。 另能否分享下你的改进freetype?
----------------------------------------------
五毒公主 认准了delphi ,没经历学更多 就努力成功delphi高手吧
|
作者: |
|
2018/3/31 16:31:32 |
7楼: |
tulip 只能在win下?
----------------------------------------------
五毒公主 认准了delphi ,没经历学更多 就努力成功delphi高手吧
|
作者: |
|
2018/3/31 23:21:49 |
9楼: |
castle我看过几天,这个貌似只有freepascal版本,我当初就是打算从中把freetype相关代码移植出来,但是没弄好,显示效果有些问题。最后还是参考了比较早以前一份freetype1.x的pascal代码。
@五毒公主:freetype代码我自己再测试几天,没问题就把这个集成到tulip里面,替换掉pxl的bitmapfont,然后把全部代码打包发论坛里。tulip原版只支持win平台,一直以来都是这样,我前几天简单改了一下,去掉了所有win和vcl的引用,目前在fmx工程上能正常运行。但是一些事件绑定还没搞好(比如dblclick、mouseenter之类的)。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/2 11:16:04 |
10楼: |
感谢楼上的共享精神
----------------------------------------------
-
|
作者: |
|
2018/4/2 15:53:32 |
11楼: |
pxl110,跟上个版本pxl101对比,在基础数据类型上改动比较大
有些朋友访问不了下载地址,我就顺便放上来了,最新版本(2018-03-07那个)
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/2 15:56:36 |
12楼: |
freetype,我在一个早期的freetype pascal代码基础上实现的,基于pxl渲染
这块如果有朋友有兴趣完善,麻烦完善后代码发一份到我邮箱,万分感谢! hzi1980@163.com
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/2 15:56:48 |
13楼: |
Tulip-UI,我修改后的版本,里面简单集成了freetype相关代码。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/2 15:57:08 |
14楼: |
我的测试工程
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/2 16:00:46 |
15楼: |
开发环境:XE8 如何直接运行测试工程: 1、ttf文件,因为比较大,大家可以从系统字库中随便复制一个ttf出来,然后命名成simsun.ttf,放在测试工程目录下。 2、把freetype里面的freetype.dll复制到测试工程目录下 3、XE8中设置单元搜索,指向上面那几个文件夹。 4、删除主窗口中一些测试代码,路径修改为自己的实际工程路径。
代码粗糙简陋,高手请轻喷,谢谢!
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/2 16:06:36 |
16楼: |
Tulip-UI编辑器
1、大家可以用这个编辑器编辑界面,然后会生成一个asgui的文件,这个asgui是一个类似压缩包的文件,里面包含各种字体、图片以及一个ui文件。 2、我改动后的代码,只能载入ui文件。大家可以用asphyre作者提供的资源包管理工具,从这个asgui文件中解压出xxx.ui。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/2 16:07:06 |
17楼: |
资源包管理工具
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/2 21:53:18 |
18楼: |
收藏了。游戏引擎。
----------------------------------------------
-
|
作者: |
|
2018/4/2 22:40:48 |
19楼: |
非常好,感谢!收藏了!
----------------------------------------------
你我,都可以是个造梦者!欢迎加入脚本引擎PaxCompiler交流群303904495http://www.cnblogs.com/fireboxsoft有需要错别字检测软件的朋友可以在我博客上的地址下载使用,备注“2ccc”的朋友可以免费获取超级黄金VVVVVVVVVVIP授权
|
作者: |
|
2018/4/3 14:50:19 |
20楼: |
很久没去看castle engine了,刚刚看了一下,发现作者有提到要支持spine,还会开RAD的分支,未来还有很多的支持计划,确实很不错的样子啊。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
glwang (glwang) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2018/4/3 17:09:48 |
21楼: |
3D游戏引擎的技术发展已经到了一个平缓阶段,很少有John Carmack那种开创性的技术突破了,随着Unreal等顶级引擎的开源,包括Unity3D的引擎源码也已经泄露到了网上,Delphi游戏引擎所做的就是借鉴顶级引擎的技术思路,采用Pascal语言和RAD环境实现弯道超车。
----------------------------------------------
|
作者: |
|
2018/4/3 22:15:30 |
22楼: |
@glwang: 感觉你说的很有道理,支持!
我自己很清楚,我并不具备做3D游戏的能力。 从开始接触Asphyre到现在,我只是想做一个2D的游戏而已。
做3D游戏,我想极大多数人还是会选择目前市面上流程的引擎,应该没人那么想不开用Delphi的开源引擎去做,毕竟做一个游戏,需要的是一堆好用的配套工具,3D游戏更是如此,没有一整套好用的工具要做游戏简直就是不可想象。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/4 9:09:49 |
23楼: |
@looper 建议弄个github 这种引擎不一定要用来做游戏,用来做些UI的事情也是不错的
----------------------------------------------
五毒公主 认准了delphi ,没经历学更多 就努力成功delphi高手吧
|
作者: |
|
2018/4/10 13:41:38 |
24楼: |
编译报错 Tulip.UI.Helpers.pas line 186 Self.FSpaceWidth := StrToIntDef(Node.FieldValue['space'], 0); 查了下 TBitmapFont 下无FSpaceWidth ?? TKernings 下才有??
编译环境 10.2.3
----------------------------------------------
[alias] co = clone --recurse-submodules up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
|
作者: |
|
2018/4/23 2:02:39 |
25楼: |
Tulip.UI.Utils 编译不过,TFloatRect4、TIntColor4 等类型在哪个单元定义?
----------------------------------------------
-
|
作者: |
|
2018/4/23 12:28:40 |
26楼: |
Tulip.UI.Helpers.pas 单元194行 function TBitmapFontHelper.ParseStream 函数 Self.FSpaceWidth // 访问了 TBitmapFont 的私有属性导致报错。 Self.ReadEntryFromXML(Child); // 访问了 TBitmapFont 的私有方法导致报错。
----------------------------------------------
-
|
作者: |
|
2018/4/23 13:41:38 |
27楼: |
haoxiongdi (好兄弟):xml这个好像是有些问题,我已经改了,晚点把代码帖上来给你。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/23 18:29:03 |
28楼: |
haoxiongdi (好兄弟): 这个是我修改过的,编译没问题。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/23 22:41:18 |
29楼: |
@looper (keyo):Tulip.UI.Helpers.pas 的 TATextAlign 报没有定义错,我搜了整个项目文件也是没发现有定义。
----------------------------------------------
-
|
作者: |
|
2018/4/23 22:44:51 |
30楼: |
@looper (keyo):Tulip.UI.Helpers.pas 172行的ParseStream函数中的Self.FSpaceWidth 和 Self.ReadEntryFromXML 还是没有改动,你的是什么版本?可以访问父类的私有属性?我用的是 10.2.2。
----------------------------------------------
-
|
作者: |
|
2018/4/23 23:16:28 |
31楼: |
你是下载我这个帖子里的代码还是去github上下载了作者的代码?用我这个帖子里的代码应该不会有什么私有变量这种问题的,还有,我用的是xe8
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2018/4/23 23:43:51 |
32楼: |
@looper (keyo):是您贴子里的代码,24 楼 keymark (keymark)也是出现了相同的问题。 您可以查看下 Tulip.UI.Helpers.pas 172行的 ParseStream函数中的Self.FSpaceWidth 和 Self.ReadEntryFromXML 是不是属于 TBitmapFont 类的私有属性。
可能新版本在这方面的限制更加严谨了。
----------------------------------------------
-
|
作者: |
|
2018/4/23 23:50:51 |
33楼: |
@looper (keyo): 1、ParseStream 函数中的 Self.FSpaceWidth 可以改成 Self.SpaceWidth ,TBitmapFont 有个 public SpaceWidth 属性。
2、ReadEntryFromXML 函数我从 TBitmapFont 复制了个到 TBitmapFontHelper 的 private 上解决了。
----------------------------------------------
-
|
作者: |
|
2018/4/24 7:25:33 |
34楼: |
新版本的delphi我没试过,我会改一下,谢谢提醒。
----------------------------------------------
虽千万人吾往矣!
|
|