首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动画制作圆圈

动画制作圆圈
EN

Stack Overflow用户
提问于 2018-11-25 18:57:11
回答 1查看 77关注 0票数 0

我需要创建一个动画,它将使另一个按钮周围的一个完整的圆。我可以使用经典动画实现这一点吗?例如,在一个xml文件中给出了许多翻译,每个翻译都有特定的偏移量?或者我需要为此创建一个特定的路径?我是个java新手,所以不知道该怎么开始。请查看下图:

EN

回答 1

Stack Overflow用户

发布于 2018-11-25 19:34:23

你需要了解一些三角函数。

代码语言:javascript
复制
  /**
     * @static
     * Allows move in circles around given item
     * @param r {float|int} radius in px
     * @param angle {float|int} current angle between circle center and orbiting element
     * @param orbit {object} orbiting el eg. $("#foo")
     * @param speed {int} animation's speed
     * @param [middle=$('#menubutton')] {object} middle of the circle
     */
    static fMenu(r, angle, orbit, speed, middle = Menu.BUTTON) {
        const BY = middle.position().top;
        const BX = middle.offset().left;
        const k = middle.width();
        const KY = middle.height();
        if (angle === 0) {
            angle = 360;
        }
        const x = Math.cos(angle * Math.PI / 180) * r;
        const y = Math.tan(Math.PI * angle / 180) * x;
        $(orbit).animate({
            top: (BY - y - KY / 2) + "px",
            left: (BX + x + k / 2 - orbit.width() / 2) + "px",
            opacity: "1"
        }, speed);
    }

您应该在循环或setTimeout/setInterval中执行此操作。前段时间我为jQuery编写了这段代码,但你明白了吗?-最重要的是Math.cosMath.tan的代码行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53466769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档