Flash基础入门之c# Winform 缓动动画
小标 2019-02-21 来源 : 阅读 1336 评论 0

摘要:本文主要向大家介绍了Flash基础入门之c# Winform 缓动动画,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

本文主要向大家介绍了Flash基础入门之c# Winform 缓动动画,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

Flash基础入门之c# Winform 缓动动画

一、定义缓动动画类public class AnimationHelper
    {
        Timer animationTimer = new Timer();
        double velocity = 0.0;
        Point location = Point.Empty;
        double force = 0.01; //0.69;
        double drag = 0.8;
        private Control control;
        //private AxShockwaveFlash control;
        private int targetPos=0;

        public AnimationHelper(int interval=5)
        {
            animationTimer.Interval = interval;
            animationTimer.Tick += delegate
            {
                if (control == null) return;
                int currentPos = control.Location.X;
                if (Math.Abs(currentPos - targetPos) <= 5)
                {
                    control.Location = new Point(targetPos, control.Location.Y);
                    animationTimer.Stop();
                }
                int dx = targetPos - currentPos;
                velocity += force * dx;
                velocity *= drag;
                if (Math.Abs(velocity) < 5)
                {
                    if (velocity > 0)
                        velocity = 5;
                    else
                        velocity = -5;
                }
                control.Location = new Point(currentPos + (int)velocity, control.Location.Y);
            };
            animationTimer.Start();
        }

        public void MoveXEx(Control control, int targetPos, Action completeWith = null)
        {
            this.control = control;
            this.targetPos = targetPos;
            velocity = 0;
            animationTimer.Start();
        }
    }

二、’使用教程:

        AnimationHelper animationHelper = new AnimationHelper();
        AnimationHelper animationHelper1 = new AnimationHelper();
        private int pos = 0;
        private int pos1 = 0;
        private int dx = 200;
        private void button1_Click(object sender, EventArgs e)
        {
            animationHelper.MoveXEx(pictureBox2, pos += dx);
            animationHelper1.MoveXEx(pictureBox1, pos1 += dx);
           
        }

        private void button2_Click(object sender, EventArgs e)
        {
            animationHelper.MoveXEx(pictureBox2, pos -= dx);           
            animationHelper1.MoveXEx(pictureBox1, pos1 -= dx);
        }

以上就介绍了Flash的相关知识,希望对Flash有兴趣的朋友有所帮助。了解更多内容,请关注职坐标常用软件Flash频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程