d在安卓中使用游戏引擎
原文
大家好.
我一直在我的游戏引擎
上实现完全自动化
,以便在平台
上轻松构建.你不需要安装
它,只需要运行脚本
,选择
想要平台
,它处理所有讨厌
的细节.
已为MacOS
和WASM
做过了,现在我正在为安卓
完成一个,先找到你的SDK
和NDK
,如果找不到,它会自动安装
并为你设置,还可让为它构建你的D代码
(目前只有我的引擎
以它为目标
).
我想问,有人想对安卓
在此使用D
吗?我可试让代码
更灵活一点(不是那么多).我知道现在在安卓
上要能使用D
需要大量的阅读
,这非常糟糕且浪费
时间.
所以:
你想在安卓
和D
之间做什么?个人不建议从D实际处理安卓
接口,因为这是我尚未探索
的领域(即:我不使用本地活动
,它相当痛苦).
你需要什么?目前引擎
有个模块,支持绑定到java
函数,日志记录等有用的.它不像arsd.jni
那样完整.这部分我真不打算为社区
开发,但知道你需要什么,这是很好地.
我还忘了什么?你能接受
什么?
就我想帮助社区而言,为WASM
和安卓
设置,有很多与你正在做的事情相关
,在安卓上的D
上,我发现这是更通用
要求.
环境
是:我有个包含一些目录和调用引擎函数
的安卓开发
项目设置,WASM
同样.让它们更通用
并不难.
我想要安卓
有个更好的D接口
.我喜欢手动安装SDK/NDK
,所以如果可指向自定义
脚本到安装位置
就好了.
最好有:
(1)
,创建文本窗口
来显示日志/调试
消息的简单方法
.当然也可手动完成,但这只是一个额外的障碍(在调试
程序之前,必须调试调试窗口
!)
(2)
,创建窗
口并从中取GL/GLES
渲染环境/画布
的简单方法
,D
代码可用它来进一步
操作.我有个(目前在后台
的)手动完成这一点的安卓
项目,它只是个麻烦的冗余
.如果调用一两个
函数就可完成
所有工作,那是理想的.
(3)
,在GLES
画布上渲染
文本的简单方法.安卓
上有个系统的libfreetype
,但我上次
检查时,用户代码不是
很容易访问它,你必须发布自己版本的libfreetype
等等.这只是大量的手工
工作,而且大多数只是冗余.某种自动化
方法会非常好.
所以,关于指定SDK/NDK
,引擎做得很简单:如果在默认路径
中找不到,它会下载并安装
它们,然后在配置文件中保存ndk
安装位置.因此,仍可手动
运行它.
对第2和第3个,这非常简单,你只需要链接到libGLES
,并使用我在安卓工作室
项目中使用的相同
项目结构,但因为引擎
已做到了这一点,我不打算自己实现它.此外,我不会特别使用libfreetype
,因为已有了更容易使用的arsd-official:ttf
的D代码
.
对1
,为什么不使用LogCat
?我让logging
命令实际输出
到那里.也可在没有安卓工作室
时连接到它.
你可用自包含的arsd.ttf
(这是移植的stb_ttf
,上面有几个方便
函数)