使用Qt动画框架设计角色的二维动画

使用Qt动画框架设计角色的二维动画

Qt的动画框架是Qt4.6新添加的一个重要的特性,有了它,开发人员可以制作激动人心的动画界面,而不必局限于单调的固定窗口了,可以说,Qt动画框架是其它界面库少见的功能,它带来的是Qt的一大优势。最近我花了大概三、四天的时间研究Qt动画框架的内容,这让我感到Qt人员精心的设计给了我们一套非常规范并且易懂的代码,如果另外的一名开发者也对Qt动画框架有所了解,那么他可以毫不费力地看懂我的代码,并且从代码中了解设计思想。

演示程序的下载地址:这里

源代码的下载地址:这里

下面是程序的截图:



这里我使用了大家非常熟知的初音ミク来演示,我们可以通过【w】【s】【a】【d】键控制它的行动,不过呢,这个程序还是有一些小问题的,以后有时间再来改进。

该如何介绍呢?首先为了了解角色动画是如何进行的,还是了解一下Qt状态机框架。这里是英文的介绍,而这里呢,是英文介绍的翻译。

在初步了解Qt状态框架之后,我介绍一下最简单的二维动画:行走动画。其实演示程序所用的是初音ミク的行走图:如下图所示:


我们应用Qt的图形 – 视图框架(Graphics – View Framework)来绘制二维图形,这很简单。在成功之后我就想,如何才能让初音ミク动起来呢?在多天的尝试和失败后,我绘制了一个有限状态图。


在这个图中,站立和行走是状态机中的两个状态,它们之间可以相互转换。这样的转换通过按键的响应来完成。在Qt中有一个专门负责按键响应并且用于状态之间转换的类:QKeyEventTransition。它通过绑定一个QWidget来获取它的按键事件,并且一旦满足相应的按键条件就开始进行状态之间的转换。所以角色的行走动画可以这样制作:首先角色处于站

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值