Flutter-持续跟踪可拖动小部件的位置

时间:2020-11-10 06:24:53

标签: flutter

我想使用Draggable和DragTarget Flutter小部件构建拖放场景。到目前为止一切顺利。

现在,我还需要在用户拖动时跟踪/记录“反馈”小部件的位置,因此最后我获得了位置及其对应时间的列表。

我来自游戏开发行业,我会使用更新循环来进行此类操作,但显然Flutter的工作方式有所不同,并且Draggable小部件似乎只包含拖动开始取消,结束已完成,但不是'feedbackWidgetHasMoved'之类的东西。

那么,实现这一目标的可能方法是什么?

1 个答案:

答案 0 :(得分:0)

好像您需要使用GestureDetector来代替。这还需要做更多的工作,但是可以使用其属性(特别是onLongPressMoveUpdate)来满足您的需要,该属性为您提供小部件的局部和全局偏移。


GestureDetector(
  child: SomeWidget(),
  onLongPress: (details) => print('long press started'),
  onLongPressMoveUpdate: (details) => {
    print('----- time: ${DateTime.now().millisecondsSinceEpoch}';
    print(details.globalPosition);
    print(details.localPosition);
    print(details.offsetFromOrigin);
    print(details.localOffsetFromOrigin);
  }
)