Flutter 颤振创造无限屏幕
我想象一种新的屏幕,我想用Flutter来做,因为它非常强大,可以快速平滑地渲染 我想实现一种无限大的屏幕,有一种正方形或区域,你可以进入其中。实际上就像一张地图(事实上不是无限的,但非常大),但我可以:Flutter 颤振创造无限屏幕,flutter,flutter-layout,Flutter,Flutter Layout,我想象一种新的屏幕,我想用Flutter来做,因为它非常强大,可以快速平滑地渲染 我想实现一种无限大的屏幕,有一种正方形或区域,你可以进入其中。实际上就像一张地图(事实上不是无限的,但非常大),但我可以: 拖动和平移 放大和缩小 点击并按下屏幕的不同部分(正方形或其他) 我想象在我的小部件“map”上使用GestureDetector,在每个组件上结合transform,并在每次移动后刷新屏幕,或者用draw重新绘制每个组件,但我不确定这是最好的方法 如果你有任何想法,谢谢你的帮助 有趣的提
- 拖动和平移
- 放大和缩小
- 点击并按下屏幕的不同部分(正方形或其他)
GestureDetector
,在每个组件上结合transform
,并在每次移动后刷新屏幕,或者用draw
重新绘制每个组件,但我不确定这是最好的方法
如果你有任何想法,谢谢你的帮助 有趣的提议。我没有实现,毕竟,这取决于你,但我有一些指针 我想,转换可以通过两个嵌套的ListView轻松处理。一个滚动X,一个滚动Y方向<代码>滚动控制器可以查询各种信息 缩放一开始也相当容易:您可以将整个屏幕包装在
Transform.scale()
小部件中
您可以将每个tappable
小部件包装在GuestureDetector
中,查询它们的RenderBox
以获取它们在屏幕上的本地或全局坐标位置,获取它们的大小
注意:在游戏中,有一个称为剪辑距离的概念。弄清楚如何在Flutter中实现这一点将是一个有趣的挑战。它允许你不渲染那些太小的小部件,你放大了很多,例如,让我知道它是如何进行的!好奇
除了“无限地图”,我已经实现了您要求的部分内容。 代码非常强大,所以我在一篇文章中描述了这些东西。 它允许:
- 通过拖动移动地图
- 在地图上放置新对象
- 放大/缩小
- 单击对象