颤动 - 建立游戏的良好基础?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了颤动 - 建立游戏的良好基础?相关的知识,希望对你有一定的参考价值。
我打算建立一个手机游戏。好吧,我想过使用Flutter。它当然会涉及互动,播放声音,但没有花哨的物理系统。你是否认为在这种情况下使用Flutter是一个好主意(它更适合学习它的目的)或者它是否为时尚早,我是否应该坚持使用我可以使用的游戏引擎?
提前致谢
https://play.google.com/store/apps/details?id=com.newsvoice.newsvoice是已经发布到Play商店的示例Flutter应用程序。
据报道,谷歌和其他公司已经在开发生产应用程序。您需要注意,预计API会发生重大变化。
最近推出的插件系统应该允许在Dart中实现缺少直接支持的功能,使用本机代码而不会增加太多复杂性。
也可以看看
Flame是Flutter的简单游戏引擎。您可以按照自述文件快速完成一个简单的游戏,并且有一些教程,文档和示例可以摆弄。它为您提供精灵(和精灵表),音频,文本,游戏循环,基于组件的系统,输入处理,box2d集成等。
您可以运行我使用旧版Flame创建的this sample game来查看它的实际效果。
免责声明:我创造了Flame。
您可能还想查看https://github.com/vlidholt/flutter_sprites一个完整的Sputter精灵库。专门用于编写2D游戏。还有一个用Dart编写的Box2D版本与Flutter一起使用。
一些开发者正在玩Flutter并获得一些有趣的结果。看到这里https://gfycat.com/HomelyFlickeringApisdorsatalaboriosa
我一直在考虑构建一个ECS游戏引擎,该引擎应该允许创建为web编写的游戏,以便轻松移植到Flutter。我已经构建了所有课程:
- 游戏
- 游戏世界
- GameSystem
- TransformSystem(包含旋转/缩放/剪切的数据)
- Box2d物理
- DraggableSystem
- GameUtils
- TweenLib
- AssemblageLib
- TileMapOtils
- RenderSystemInterface
所有这些类对于Flutter版本的游戏和游戏的浏览器版本都是完全相同的。唯一不同的系统是开发人员是否绝对想要在游戏的移动版本中使用Flutter ui元素(当然是一件好事)。
有两件事会更难以移植,我还没有完全理解它。
第一件事是如何为Web和Flutter之间的对话框之类的东西绘制文本。可能必须存在不兼容的FlutterTextSystem和WebTextSystem。第二件事是我可以将WebRendererSystem编程为使用GLSL着色器,但事实上这对Flutter来说是不可能的。两种类型的渲染器之间的任何通用接口都必须剪切功能以适应Flutter。
以上是关于颤动 - 建立游戏的良好基础?的主要内容,如果未能解决你的问题,请参考以下文章