我正在尝试创建一个拖放游戏。我想确保Draggable小部件在被拖动时不会离开屏幕。
我找不到这个特定问题的答案。有人问了一些关于约束可拖动区域的类似问题Constraining Draggable area但答案实际上并没有使用Draggable.
首先,我尝试在左侧实施限制。
我尝试将 Listener 与onPointerMove. 我已将此事件与 limitBoundaries 方法相关联,以检测何时Draggable从屏幕左侧退出。这部分正在工作,因为它确实在控制台中打印出来Offset时的值。我还将 setState 关联到此方法以设置可拖动的位置,但这不起作用。Draggable(position.dx < 0)Offset(0.0, position.dy)
有人可以帮我解决这个问题吗?
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Draggable Test',
home: GamePlay(),
);
}
}
class GamePlay extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: <Widget>[
Row(
children: [
Container(
width: …Run Code Online (Sandbox Code Playgroud)