使用 EaselJs 制作倒计时动画

2023-12-10

我正在尝试使用画架模拟倒计时动画。我有一个它应该是什么样子的例子。http://jsfiddle.net/eguneys/AeK28/

但它看起来像一个黑客,有没有适当/更好/灵活的方法来做到这一点?

换句话说,我如何定义一条路径,并用 easeljs 绘制该路径。

这看起来很难看:

     createjs.Tween.get(bar, {override: true}).to({x: 400}, 1500, createjs.linear)
.call(function() {
    createjs.Tween.get(bar, {override: true}).to({y: 400}, 1500, createjs.linear)
 .call(function() {
    createjs.Tween.get(bar, {override: true}).to({ x: 10 }, 1500, createjs.linear)
  .call(function() {
    createjs.Tween.get(bar, {override: true}).to({ y: 10 }, 1500, createjs.linear);
        })
    });
});

您可以使用TweenJS MotionGuide插件沿着路径补间而不是多个补间。

createjs.MotionGuidePlugin.install();
createjs.Tween.get(bar).to({
    guide: {path: [10,10, 10,10,400,10, 400,10,400,400, 400,400,10,400, 10,400,10,10]}
}, 6000, createjs.linear);

路径数组基本上是 moveTo 调用后跟的多个 curveTo 调用的坐标集。坐标将沿着这些调用产生的路径进行插值。


指定路径数组的一种更模块化的方法是让一个函数使用您声明的一组点来生成它。

function getMotionPathFromPoints (points) {
    var i, motionPath;

    for (i = 0, motionPath = []; i < points.length; ++i) {
        if (i === 0) {
            motionPath.push(points[i].x, points[i].y);
        } else {
            motionPath.push(points[i - 1].x, points[i - 1].y, points[i].x, points[i].y);
        }
    }

    return motionPath;
}

var points = [
    new createjs.Point(10, 10),
    new createjs.Point(400, 10),
    new createjs.Point(400, 400),
    new createjs.Point(10, 400),
    new createjs.Point(10, 10)
];

createjs.MotionGuidePlugin.install();
createjs.Tween.get(bar).to({
    guide: {path: getMotionPathFromPoints(points)}
}, 6000, createjs.linear);

FIDDLE

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 EaselJs 制作倒计时动画 的相关文章

  • 如何通过单击图像预览上的“x”从文件输入中删除图像?

    我目前有一个文件输入 一旦用户上传图像 就会显示图像预览 在图像预览上 有一个 x 可以从列表中删除图像预览 单击此 x 后 有什么方法可以从输入中的文件集中删除图像吗
  • 仅当表单已提交时才触发 jQuery 表单验证?

    不引人注目的验证基于这样的想法 don t进行表单验证 直到用户提交表单 一旦发生这种情况 如果表单上的某些内容无效 那么一旦用户更改了每个字段 就会立即验证它 我想做的是 不显眼地 触发表单元素的验证 也就是说 only如果用户已尝试提交
  • 用隐藏单元格补充 colspanned 表格有什么不好吗?

    我一直在表格上开发一些排序和选择功能 我发现在具有跨单元格的表格中定位非常困难 我只是添加了跨区单元格并将其隐藏 它看起来不错 它与我的 js 一起工作 非常适合索引 但我想知道这是否是合法的方法 stuffing display none
  • ruby rspec 不能与 simplecov 一起使用

    我安装了 simplecov gem 并添加了 require simplecov SimpleCov start 到spec helper rb文件 现在如果我在some file spec rb文件中包含spec helper rb并尝
  • Node js 使用中间件重定向进行过多重定向

    在我的 Node js 应用程序 我使用的是express 4 x 中 我想检查用户是否已登录 如果用户未登录 我想重定向到我的登录页面 然后我在中间件中这样做 服务器 js app use function req res next if
  • 在Javascript中按降序对字符串进行排序(最有效)?

    W3Schools 有这个例子 var fruits Banana Orange Apple Mango fruits sort fruits reverse 这是在 Javascript 中按降序对字符串进行排序的最有效方法吗 Updat
  • 如何按照编写的顺序迭代 javascript 对象属性

    我发现了代码中的一个错误 我希望通过最少的重构工作来解决该错误 此错误发生在 Chrome 和 Opera 浏览器中 问题 var obj 23 AA 12 BB iterating through obj s properties for
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • 是否可以使用 javascript 测试用户的浏览器/操作系统是否支持给定类型的链接?

    是否可以使用 javascript 或其他任何东西 测试用户的操作系统 浏览器是否支持给定的 url 方案 例如 大多数仅使用网络邮件的用户计算机上未设置 mailto 是否有可能以某种方式捕获单击 mailto 链接的尝试并弹出比浏览器错
  • 在闪亮的数据表中为每个单元格显示工具提示或弹出窗口?

    有没有什么方法可以为 r闪亮数据表中的每个单元格获取工具提示 有很多方法可以获取悬停行或列 但我找不到一种方法来获取行和列索引并为每个单元格显示不同的悬停工具提示 任何人都可以修改以下代码吗 library shiny library DT
  • Javascript - 将值从下拉框传递到 Google Maps API

    我正在使用 Google 地图 API 为一家出租车公司创建报价表 目前 用户在 2 个文本框中输入出发点和接载点 API 会计算两点之间的距离以及行程费用 我正在尝试添加两个具有设定位置的下拉框 以便用户可以选择这些位置之一或使用文本框输
  • Google Chrome 106 可拖动导致元素消失

    使用拖放元素时 绝对定位元素中包含的大多数其他元素都会从屏幕上消失 如果我调整窗口大小 这些元素会出现 但在开始拖动时会再次消失 我在最新版本的 Google Chrome 106 和 Beta 版本 107 0 5304 18 以及现在的
  • 如何流式传输 OpenAI 的完成 API?

    我想流式传输结果通过 OpenAI 的 API 完成 https beta openai com docs api reference completions 该文档提到使用服务器发送的事件 https developer mozilla
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • 是否有任何非轮询方式来检测 DOM 元素的大小或位置何时发生变化?

    很长一段时间以来 我一直在寻找一种方法来检测 DOM 元素的大小或位置何时发生变化 这可能是因为窗口调整了大小 或者因为向该元素添加了新的子元素 或者因为在该元素周围添加了新元素 或者因为 CSS 规则已更改 或者因为用户更改了浏览器的字体
  • 淡出和循环一组 div 的最佳方式

    假设我有以下 div div class a You are funny div div class b You are smart div div class c You are cool div 最好的展示方式是什么div a持续 5
  • 为什么“tbody”不设置表格的背景颜色?

    我在用 tbody 作为 CSS 选择器来设置background color在一个表中 我这样做是因为我有多个 tbody 表内的部分 它们具有不同的背景颜色 我的问题是 当使用border radius在细胞上 细胞不尊重backgro
  • 如何在 Google 地图 V3 中创建编号地图标记?

    我正在制作一张上面有多个标记的地图 这些标记使用自定义图标 但我还想在顶部添加数字 我已经了解了如何使用旧版本的 API 来实现这一点 我怎样才能在V3中做到这一点 注意 当您将鼠标悬停在标记上时 标题 属性会创建一个工具提示 但我希望即使
  • 使用异步调用时如何从 javascript 更新元刷新?

    我有一个系统 它使用元刷新来注销页面 该系统会在空闲用户后进行清理 不用担心 服务器也会导致会话超时 我开始通过 ajax 进行一些操作 不是真正的 xml 但这不是重点 我可以运行从异步请求返回的javascript 所以我想知道是否可以
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创

随机推荐

  • 向 Rails 中的所有用户发送电子邮件

    我正在尝试创建一种方法 在调用时向所有用户发送电子邮件 我的最终目标是通过调度程序调用此方法 我已经让调度程序正常工作 并且该方法将考虑所有用户并向其中一些用户发送电子邮件 如果满足某些先决条件 现在我只想了解如何制作最简单的东西 即向表中
  • 如何将 dropbox csv 文件下载到 pandas

    我对网络抓取不熟悉 我找到了一些说明 但我不确定从这里还能做什么 单击链接会自动下载 csv 文件 如何通过网络抓取将其获取到我的 pandas jupyter 笔记本 import urllib request url https www
  • 由于在多个 cpp 中包含相同标头而导致重复的多个定义错误

    因此 无论我做什么 我似乎都无法避免 Dev C 抛出大量多重定义错误 因为我在同一项目的多个源代码文件中包含相同的头文件 我强烈希望避免将所有源代码转储到一个文件中 并且只包含一次标头 因为这将使我的文件非常长且难以管理 本质上 这是发生
  • 如何使用apache commons配置(java)加载xml文件?

    这是我的java项目结构 src main java LoadXml java src main resources config xml src test java src test resources 我想使用 apache commo
  • 当出现“数据对于变量来说太大”错误时,如何正确访问 FireDAC 数据集的 VARCHAR(MAX) 参数值?

    我们的应用程序使用 SQL Server 2014 更新和访问数据 我有一个表 其中最后一列 内容 创建为VARCHAR MAX 我们使用的是 Delphi XE8 并且使用的是 FireDACTFDQuery组件来更新此列 FDquery
  • 如何在iphone sdk中压缩相机拍摄的图像?

    我从地址簿中获取联系人列表 因为某些联系人具有用相机拍摄的图像 它们的尺寸非常大 我以 3x3 行和列的格式显示联系人及其图像 问题是由于对于巨大的图像 加载图像需要时间 任何人都可以建议我如何压缩它们 我尝试以某种方式压缩它们 if im
  • 带有标签元素的toggleClass的奇怪行为

    今天早些时候我回答了这个问题 问题是关于切换一个类label带有 jQ uery 的元素 考虑以下 HTML
  • SOLR 数据导入错误“无法执行查询”

    我有一个在 Amazon EC2 实例上运行的网站 我正在尝试让 Solr 连接并使用我正在使用的数据库 我能够使用管理界面并已对示例 xml 文件进行索引 但每当我尝试导入其中一个数据库表时 都会收到错误 SEVERE Exception
  • 如何在不使用应用程序的情况下测试 doGet 函数上对象的值

    由于我的英语不好 而且我的水平低 我仍然一无所获 也许你可以帮助我 我曾经使用 Logger log 来测试我想要的内容 我不是一个经验丰富的开发人员 所以我不容易调试我的代码 特别是在 Google Apps 脚本上 所以也许有一些技巧可
  • Applescript 创建新文件夹

    我想在苹果脚本中创建一个新的文件夹命令 为什么这个脚本不起作用 tell application Finder activate end tell tell application System Events tell process Fi
  • 如何更改select标签中下拉列表的背景颜色?

    我正在开发一个网站 从数据库中获取数据 使用以下 php 代码
  • MATLAB,如何更改循环内的循环索引[重复]

    这个问题在这里已经有答案了 我有一个这样的循环 b 1 for c 1 10 if b 1 c 1 3 end end 我需要做什么才能改变c 因为当我通读帮助时 MATLAB 重置了循环计数器c达到后end 有什么方法可以改变循环计数器的
  • 我的提取请求被取消,我不知道为什么

    我正在创建一个网络应用程序 它消耗https restcountries eu API 当用户输入国家 地区时 我将使用以下命令向 API 发出请求fetch 然而 我的请求总是被取消 我测试了捕获用户输入的部分 但我认为问题出在我的fet
  • 如何快速复制大型innodb表

    如何快速复制mysql innodb表大小8 4G 快速的方法是复制文件 但要在 innodb 引擎中执行此操作 你需要使用 每桌表空间 使用多个表空间可以 有利于想要搬家的用户 特定的表来分隔物理 磁盘或希望恢复备份的人 快速单表 无需
  • Python ValueError:太多值无法解压[重复]

    这个问题在这里已经有答案了 我从这段代码中得到了这个异常 class Transaction def init self self materials def add material self m self materials m typ
  • 为什么可以将字符串分配给C中的字符指针,但不能将整数值分配给整数指针

    为什么在下面的代码中 int p 22 会给出编译时错误 而 ptr 会成功打印该值 int main taking a character pointer and assigning a string to it char ptr Sta
  • Python:Google API - 从消息中获取 mimeTypes

    我的目标是使用 Google API 从我指定的电子邮件中获取数据 目前我可以找到消息 获取消息数据并将消息数据解码为可读格式 之后我需要找到消息的正确部分 输入text html 然后使用扫描我的链接美丽的汤 不幸的是 我对电子邮件 Go
  • 为什么 apply() 返回错误的列类型?

    我最近开始使用 R 和apply 功能让我绊倒 我很感激这方面的帮助 is numeric iris Sepal Length returns TRUE is numeric iris Sepal Width returns TRUE is
  • 如何在 C# 中枚举网络共享和 Web 文件夹?

    Net为我们提供了一个FolderBrowserDialog控件来浏览文件夹 然而 这是一个模式对话框 我需要创建一个可以拖放到表单上的用户控件 因此 我一直在考虑创建自己的 我需要在其中获取所有本地驱动器 映射的网络驱动器 UNC 共享和
  • 使用 EaselJs 制作倒计时动画

    我正在尝试使用画架模拟倒计时动画 我有一个它应该是什么样子的例子 http jsfiddle net eguneys AeK28 但它看起来像一个黑客 有没有适当 更好 灵活的方法来做到这一点 换句话说 我如何定义一条路径 并用 easel