C++工具箱(三)——动画类之基类

本文探讨如何利用定时器创建一个动画类框架,强调接口简洁、易扩展和对象生命周期管理。动画基类包括时间间隔、启动状态、完成回调和动画对象管理等特性。通过保护构造和析构函数,确保动画对象在堆上创建并在完成时自动删除。文章还提到,默认帧间隔为30,以达到视觉连贯性,并预告了后续将介绍一个用于窗口透明度渐变的动画类。

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

OK,我们已经讨论了单件定时器了,该来点真格的了。这次我们来看看如何通过前面所述的定时器实现动画。我目前想到的动画有大小更改、Alpha 透明度更改、窗口位置更改等几种,后续会逐步加上。


我们先来思考动画的实质。动画其实就是通过定时器,一步步逼近一个期望结果的过程。我们期望的动画类是这样的:

1、接口简单、使用方便;

2、可扩展。比如我们后续加上新的动画类时不必太费力;

3、添加新动画类时不必操心动画共有的部分;(如计时器、回调等等)


一个动画有以下共有性质:

1、两次动画间的时间间隔(ms 为单位);

2、动画是否已经开启了;

3、整个动画展示完成后的回调(可选);

4、动画对象的管理


第四个尤为重要,因为我们可能在一个如何一个函数(全局函数、类成员方法、某一个线程处理函数)中启用一个动画,如果还需手动管理动画对象的生命周期的话,那就太不Fashion了!(你可以思考下如果让你来设计,你会怎么设计这个动画的基类)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值