我想使用Draggable和DragTarget Flutter小部件构建拖放场景。到目前为止一切顺利。
现在,我还需要在用户拖动时跟踪/记录“反馈”小部件的位置,因此最后我获得了位置及其对应时间的列表。
我来自游戏开发行业,我会使用更新循环来进行此类操作,但显然Flutter的工作方式有所不同,并且Draggable小部件似乎只包含拖动开始,取消,结束和已完成,但不是'feedbackWidgetHasMoved'之类的东西。
那么,实现这一目标的可能方法是什么?
答案 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);
}
)