Я реализовал эффект, обнаруженный в этой статье https://medium.com/flutter/perspective-on-flutter-6f832f4d912e, который позволяет вращать виджеты в трехмерном пространстве. Моя единственная проблема с этим заключается в том, что все мои виджеты, кажется, не имеют толщины в направлении оси z, поэтому случаются такие неприглядные вещи:
Мои необращенные lo go выглядит так:
И вот код, который я использовал для создания этого эффекта вращения:
import 'package:flutter/material.dart';
class PerspectiveContainer extends StatefulWidget {
final Widget child;
PerspectiveContainer({Key key, @required this.child}) : super(key: key);
@override
_PerspectiveState createState() => _PerspectiveState();
}
class _PerspectiveState extends State<PerspectiveContainer> {
Offset _offset = Offset.zero;
@override
Widget build(BuildContext context) {
return Transform(
transform: Matrix4.identity()
..setEntry(3, 2, 0.001) // perspective
..rotateX(0.004 * _offset.dy)
..rotateY(-0.004 * _offset.dx),
alignment: FractionalOffset.center,
child: GestureDetector(
onPanUpdate: (details) => setState(() => _offset += details.delta),
onDoubleTap: () => setState(() => _offset = Offset.zero),
child: widget.child,
),
);
}
}
Так можно ли было бы задать толщину моего виджета BIN GO в направлении z? (Ящик go lo go был создан с виджетом Table)