颤抖 - 建立游戏的良好基础?

时间:2017-05-08 17:05:49

标签: dart flutter

我打算建立一个手机游戏。好吧,我想过使用Flutter。它当然会涉及互动,播放声音,但没有花哨的物理系统。你是否认为在这种情况下使用Flutter是一个好主意(它可以更好地学习它)或者是否为时尚早,我是否应该坚持使用我可以使用的游戏引擎?

提前致谢

6 个答案:

答案 0 :(得分:27)

Flame是Flutter的简单游戏引擎。您可以按照自述文件快速完成一个简单的游戏,并且有一些教程,文档和示例可以摆弄。它为您提供精灵(和精灵表),音频,文本,游戏循环,基于组件的系统,输入处理,box2d集成等。

您可以运行this sample game我使用旧版本的Flame创建,以查看它的实际效果。

免责声明:我创造了火焰。

答案 1 :(得分:6)

https://play.google.com/store/apps/details?id=com.newsvoice.newsvoice是已发布到Play商店的示例Flutter应用。

据报道,谷歌和其他人已经在开发生产应用程序。 您需要注意,预计API会发生重大变化。

最近推出的插件系统应该允许在Dart中实现缺少直接支持的功能,使用本机代码而不会增加太多复杂性。

另见

答案 2 :(得分:5)

您可能还想查看https://github.com/vlidholt/flutter_sprites Flutter的完整精灵库。专门用于编写2D游戏。还有一个用Dart编写的Box2D版本与Flutter一起使用。

答案 3 :(得分:3)

有些开发者正在玩Flutter并获得一些有趣的结果。见https://gfycat.com/HomelyFlickeringApisdorsatalaboriosa

答案 4 :(得分:1)

我一直在考虑构建一个ECS游戏引擎,该引擎应该允许创建为web编写的游戏,以便轻松移植到Flutter。我已经将所有课程构建在我脑海中了:

  • 游戏
  • GameWorld
  • GameSystem
  • TransformSystem(包含数据) 旋转/缩放/剪切)
  • Box2dPhysics
  • DraggableSystem
  • GameUtils
  • TweenLib
  • AssemblageLib
  • TileMapUtils
  • RenderSystemInterface

对于Flutter版本的游戏和游戏的浏览器版本,所有这些类都是完全相同的。唯一不同的系统是开发人员是否绝对想要在游戏的移动版本中使用Flutter ui元素(当然是一件好事)。

有两件事情难以移植,我还没有想到它。

第一件事是如何为Web和Flutter之间的对话框之类的东西绘制文本。可能必须存在不兼容的FlutterTextSystem和WebTextSystem。第二件事是我可以将WebRendererSystem编程为 使用GLSL着色器,但目前使用Flutter这是不可能的。两种类型的渲染器之间的任何通用接口都必须剪切功能以适应Flutter。

答案 5 :(得分:0)

我认为,Flutter是一款出色的跨平台SDK,可用于多种用途,并且在应用程序开发方面朝着正确的方向迈出了一大步。但是,它不是专门为游戏开发而设计的,这可能会导致开发过程中出现问题。

尽管如此,仍然有很多人开发了Fruit NinjaSnake之类的简单游戏。总体而言,使用Unity等专门为开发游戏而设计的平台,您总是会受益匪浅,因为您无需关心精灵,碰撞检测,物理,渲染管线之类的东西。

如果您想进一步了解该主题,则可能需要阅读this informative article