基于Flutter怎么制作一个火箭发射动画
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本文小编为大家详细介绍"基于Flutter怎么制作一个火箭发射动画",内容详细,步骤清晰,细节处理妥当,希望这篇"基于Flutter怎么制作一个火箭发射动画"文章能帮助大家解决疑惑,下面跟着小编的思路
千家信息网最后更新 2025年02月01日基于Flutter怎么制作一个火箭发射动画
本文小编为大家详细介绍"基于Flutter怎么制作一个火箭发射动画",内容详细,步骤清晰,细节处理妥当,希望这篇"基于Flutter怎么制作一个火箭发射动画"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
AnimatedPositioned
介绍
AnimatedPositioned
组件的使用方式其实和 AnimatedContainer 类似。只是AnimatedPositioned
是 Positioned
组件的替代。构造方法定义如下:
const AnimatedPositioned({ Key? key, required this.child, this.left, this.top, this.right, this.bottom, this.width, this.height, Curve curve = Curves.linear, required Duration duration, VoidCallback? onEnd, })
前面的参数和 Positioned
一样,后面是动画控制参数,这些参数的定义和 AnimatedContainer
的是一样的:
curve
:动画效果曲线;duration
:动画时长;onEnd
:动画结束后回调。
我们可以改变 left
,top
,width
等参数来实现动画过渡的效果。比如我们的火箭发射,就是修改 bottom
(飞行高度控制)和 width
(尺寸大小控制)来实现的。
火箭发射动画实现
有了上面的两个分析,火箭发射动画就简单了!完整代码如下:
class RocketLaunch extends StatefulWidget { RocketLaunch({Key? key}) : super(key: key); @override _RocketLaunchState createState() => _RocketLaunchState();}class _RocketLaunchState extends State<RocketLaunch> { var rocketBottom = -80.0; var rocketWidth = 160.0; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('火箭发射'), brightness: Brightness.dark, backgroundColor: Colors.black, ), backgroundColor: Colors.black, body: Center( child: Stack( alignment: Alignment.bottomCenter, children: [ Image.asset( 'images/earth.jpeg', height: double.infinity, fit: BoxFit.fill, ), AnimatedPositioned( child: Image.asset( 'images/rocket.png', fit: BoxFit.fitWidth, ), bottom: rocketBottom, width: rocketWidth, duration: Duration(seconds: 5), curve: Curves.easeInCubic, ), ], ), ), floatingActionButton: FloatingActionButton( child: Text( '发射', style: TextStyle( color: Colors.white, ), textAlign: TextAlign.center, ), onPressed: () { setState(() { rocketBottom = MediaQuery.of(context).size.height; rocketWidth = 40.0; }); }, ), ); }}
其中一开始设置 bottom
为负值,是为了隐藏火箭的焰火,这样会更有感觉一些。然后就是在点击发射按钮的时候,通过 setState
更改底部距离和火箭尺寸就可以搞定了。
读到这里,这篇"基于Flutter怎么制作一个火箭发射动画"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
动画
火箭
发射
参数
制作
文章
控制
内容
就是
尺寸
效果
组件
妥当
两个
代码
只是
大小
底部
思路
感觉
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳网站建设软件开发
数据库怎么查看连接密码
长沙市国软软件开发
申请网易免费邮箱网络安全
动态表单动态数据库
q群数据库
存储服务器传输率
铁锈战争服务器安装模组教程
足球波胆分析软件开发
莱州微信公众号软件开发解决方案
被服务器拒绝
网上书店数据库设计e-r模型
郑州市网络技术人员招聘
复制数据库的结构
数据库哪些字段要规定限制
服务器怎么删除所以op
计算机网络技术专业学啥
下载安全控件找不到服务器
电信网络安全进校园绘画
全文数据库和数值数据库
安溪招聘软件开发
苍溪软件开发商
洪江市软件开发学校
关系数据库模式特点
派出所内部开展网络安全检查
吉安市网络安全保卫支队支队长
持恒网络安全
工业用数据库软件
什么是嵌入式web服务器
网络安全专业报告