亲爱的,
我最近发布了使用scala-native和SBT插件实现的Scala语言绑定的POC。
仓库:https://github.com/optical002/godot-scala-native
它目前支持以下功能:
- 快速设置的gitter8模板:https://github.com/optical002/godot-scala-native-template.g8
- 集成在sbt插件中的godot插件,管理sbt构建
- 生成器,支持所有Godot节点类型和内置类型(例如Color,Vector2,Rect2,...)
- 支持从case类创建新节点,无需额外的注解,例如:
case class PlayerNode(var hp: Int) extends Node2D
- 支持一些导出注解,如'@export_range'
- 支持热重载,即使更改了节点属性。
- 不需要像其他语言绑定一样的"Entry"类,只需要编写节点和其他逻辑。
- 不需要额外的.gdextension文件,自动从sbt任务生成。
它目前缺乏以下功能:
- 构建时间不是最好的,第一次构建可能需要16秒左右(有很多改进的空间)
- 移动.so库到gd项目后,scala控件在godot中显示已完成编译,但新属性不立即出现在调试器中,因为有一个隐藏的godot重载机制(需要通过godot插件暴露)
- 还需要大量的打磨,仍然是0.1.0版本。
评论 (0)