颤动创造无限的屏幕

Fer*_*rdi 11 flutter flutter-layout

我想象一种新的屏幕,我想用Flutter来做,因为它非常强大,可以快速平滑地渲染.

我想用一种方形或区域来实现一种无限的屏幕,你可以进入.实际上就像一张地图(实际上不是无限但非常大)但我可以:

  • 拖动并翻译
  • 放大和缩小
  • 单击并按下屏幕的不同组件(方形或其他)

我想GestureDetector在我的小部件上使用"map"与transform每个组件insde 相结合,并在每次移动后刷新屏幕,或者重新绘制每个组件,draw但我不确定这是跟随它的最佳方式.

如果您有任何想法,感谢您的帮助!!

Dan*_* V. 1

有趣的建议。我没有实施,毕竟,这取决于你,但我有一些指示。

我想,翻译可以很容易地通过 2 个嵌套的 ListView 来处理。一种是 X 方向滚动,另一种是 Y 方向滚动。ScrollController可以查询各种信息。

缩放一开始也相当容易:您可以将整个屏幕包裹在一个Transform.scale()小部件中。

您可以将每个tappable小部件包装在 中GuestureDetector,查询它们RenderBox以获取它们在屏幕上的本地或全局坐标位置,获取它们的大小。

注意:在游戏中,有一个概念,叫做裁剪距离。弄清楚如何在 Flutter 中实现这一点将是一个有趣的挑战。它允许您不渲染那些太小的小部件,例如缩小很多。让我知道事情的后续!好奇的。