第一百五十二回 自定义组件综合实例:游戏摇杆三

本文回顾了游戏摇杆的实现,指出性能不足的问题,并提出优化思路:仅重绘小圆以提升性能。通过创建Stream和StreamBuilder监听坐标变化,实现小圆坐标更新时的高效重绘。示例代码展示了如何在退出页面时关闭Stream。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


我们在上一章回中介绍了 如何实现游戏摇杆相关的内容,本章回中将继续介绍这方面的知识.闲话休提,让我们一起Talk Flutter吧。

内容回顾

我们在前面章回中介绍了游戏摇杆的概念以及实现方法,并且通过示例代码演示了实现游戏摇杆的整个过程,接着通过一个章回的内容介绍了实现摇杆的难点以及其中的细节,不过这个摇杆还有一个缺点:性能不够好。本章回中将介绍如何优化摇杆的性能。
在这里插入图片描述

优化性能

我们在实现摇杆时,摇杆可以跟着手势移动而移动,这是因为我们捕获了手势事件,从手势事件中获取到手势的坐标值,然后依据手势坐标值不断地修改摇杆的坐标值,进而让摇杆跟着手势移动而移动。

我们在程序中通过setState()方法修改摇杆的坐标值,该方法会让build()重新构建整个页面,也就是说它会重新绘制游戏摇杆中的大圆和小圆,而我们的目的是修改小圆的坐标,重新绘制小圆,没有必要重新绘制大圆,因此这种通过setState()方法更新小圆坐标值的方法有性能上的缺点,为了克服这个缺点,我们需要优化程序的性能。

优化的思路:在修改小圆坐标时只重新绘制小圆而不绘制大圆。有了这个思路后,使用什么方法实

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值