美文网首页
duilib和定时器实现简单的帧动画

duilib和定时器实现简单的帧动画

作者: 彦子凡 | 来源:发表于2017-09-06 20:08 被阅读362次

duilib自己原生的库是不支持动画,经过后来很多人的修改之后慢慢的支持动画,但是有时候对于一些简单的变换图片的帧动画,一些简单的变化数字的帧动画,完全没有必要去把人家封装的那一套带有动画的库,直接就用duilib和定时器实现就ok了.

示例:

比如常见的倒计时动画,我们只要去变换图片或者去变换其中的数字就可以了.就只需要简单的设置一个定时器,然后定时器消息中计数,计数达到一定去销毁定时器.或者要提前也可以手动去销毁.废话不多说,直接上代码:

  • 创建定时器
#define NTIMEEVENT 10000  //定时器的ID
#define NTIMER 1000 //定时器的执行时间,单位ms
::SetTimer(GetHWND(), NTIMEEVENT, NTIMER, NULL);
  • 定时器的消息响应
LRESULT 类名::HandleCustomMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
    LRESULT lRes = 0;
    bHandled = FALSE;
    switch (uMsg)
    {
        case WM_TIMER:
            {
                m_nCount -= 1;//定义计数的成员变量
                if(wParam == NTIMEEVENT)
                {
                    CDuiString szBkImage;
                    szBkImage.Format("picture/Countdown/count%d.png", m_nCount);
                    if (m_pLabel)//你要变换的控件
                    {
                        m_pLabel->SetBkImage(szBkImage);
                    }
                    if (m_nCount == 0)//最后倒计时到0
                    {
                        ::KillTimer(GetHWND(), NTIMEEVENT);//销毁定时器
                        Close(IDOK);
                    }
                }
            }
            break;
    }
    return 0;
}

主要代码就只有这么多,如果对win32或者MFC的消息机制很熟悉的话,就像看1+1=2那么简单.

相关文章

  • duilib和定时器实现简单的帧动画

    duilib自己原生的库是不支持动画,经过后来很多人的修改之后慢慢的支持动画,但是有时候对于一些简单的变换图片的帧...

  • Days18 H5+Css3

    1.使用动画 (js实现动画,css3实现动画) 一个是帧动画 一个是补间动画 什么是帧动画:使用定时器 每隔一段...

  • Android几种动画的总结(逐帧动画、补间动画)

    逐帧动画 逐帧动画也叫 Drawable Animation,是最简单最直观的动画效果。 在Android 中实现...

  • Android动画之帧动画

    帧动画,顾名思义就是通过一帧一帧切换图片来实现动画效果。老式电影放映机就是这样的优点:原理简单,实现也很简单缺点:...

  • UIImage 加载简易动画效果

    序列帧动画概念和序列帧动画实现 方式1: 方式2:

  • 第九篇:基于定时器的动画

    目录 一、定时器动画不用NSTimer的理由 二、使用CADisplayLink来做定时器动画 三、计算每帧的持续...

  • 基于 Canvas 实现的简易飞机大战

    写在前面 项目地址:github演示效果 基础知识 动画基础知识 实现动画效果主要有两种方法1.使用定时器一帧一帧...

  • Android帧动画的实现

    帧动画就是图片的循环播放 实现帧动画有两种方式: 1.通过代码实现: //帧动画对象AnimationDrawab...

  • 速度版运动框架

    一、requestAnimationFrame定时器做动画的缺点:有小小的误差;请求动画帧(requestAnim...

  • CABasicAnimation关键帧动画

    所谓关键帧动画,就是将Layer的属性作为KeyPath来注册,指定动画的起始帧和结束帧,然后自动计算和实现中间的...

网友评论

      本文标题:duilib和定时器实现简单的帧动画

      本文链接:https://www.haomeiwen.com/subject/cfivjxtx.html