减慢 for 循环以使 Canvas 动画化

2024-02-10

我正在尝试使用画布制作一些东西,我可以在其中传递一个数字,该数字等于0-360的某个度数,并且一条线将从其当前位置到我设置的度数进行动画处理。

现在我已经将线路转到了我想要的任何程度(我还没有完成我传递程度的功能部分......现在只是在 for 循环中进行)所以我的主要问题是我如何得到动画线变慢?如果我只是让 for 循环运行,它就会直接到达终点。我怎样才能减慢它的速度,让它动画起来?

代码在这里:http://jsfiddle.net/WPTjv/2/ http://jsfiddle.net/WPTjv/2/

Thanks!

编辑:我不是特别喜欢这些代码,所以如果您也有更好的方法,我很乐意接受建议。


您需要使用类似 setInterval 的方法每 N 毫秒调用一段代码。语法是:

setInterval(code, milliseconds);

它返回一个您需要保存的数字,以便您可以停止代码。所以我们可以写:

 var interval = setInterval(function() {
     clock();
     x++;
     if (x > 90) clearInterval(interval);
 }, 30);

这将创建一个每 30 毫秒发生一次的函数。

每 30 毫秒,clock()叫做,x递增,并且如果x超过90我们称之为clearInterval并传入我们呼叫的号码setInterval回。这可确保代码打开总共发生 90 次。

这是一个活生生的例子:

http://jsfiddle.net/WPTjv/10/ http://jsfiddle.net/WPTjv/10/

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

减慢 for 循环以使 Canvas 动画化 的相关文章

随机推荐

  • 高效的 p​​yspark join

    我读过很多关于如何在 pyspark 中进行高效连接的文章 我发现实现高效连接的方法基本上有 如果可以的话 使用广播连接 我通常不能因为数据框太大 考虑使用非常大的集群 我宁愿不因为 Use the 相同的分区器 最后一个是我宁愿尝试的一个
  • 双破折号 [--] 选项在 git Reset 上有什么作用?

    我见过这样的命令 git reset e542 readme txt 我了解此命令将提交 e542 中的文件 readme txt 的内容放入索引中 但什么是 选项在那里做什么 git reset 手册页将其列为前两种形式的可选 但我找不到
  • 如何构建神经网络来将两个数字相乘

    我正在尝试构建一个将 2 个数字相乘的神经网络 为了做同样的事情 我借助了 scikit learn 我想要一个具有 2 个隐藏层 5 3 和 ReLU 作为激活函数的神经网络 我已经定义了我的MLPRegressor如下 X data d
  • 校准 UI 加速度计?

    在我的应用程序中 我使用加速度计来控制游戏中的角色 现在我只允许纵向方向 因此用户必须向右或向左倾斜设备才能移动角色 到目前为止效果很好 我现在想要完成的是 校准 加速度计以考虑用户当前正在玩的倾斜度 假设用户侧躺 这些值将会倾斜 因为它没
  • 对于 BLOB,“length() IS NULL”是否与“IS NULL”等效且更快?

    我在 SSD 上有一个约 90 MB 的 SQLite 数据库 主要由消息附件组成 其中包括 BLOB 列内容 用于存储二进制附件数据 现在我发现以下查询 SELECT message id FROM attachments WHERE l
  • 如何创建 5 个值的数组/切片,所有值都相同

    Problem 在go编程语言中 如何创建一个长度为5的数组 并且所有元素具有相同的值 例如42 优先顺序 可读性 简洁性 性能 例如 package main import fmt func main s make int 5 for i
  • 如何在不输入n的情况下输入数组中的元素? (c++)

    输入 5 long long n cin gt gt n long long a n for long long i 0 i
  • 如何更新/写入数据到谷歌电子表格 api android (api v4)

    我一直在开发一个应用程序 我需要使用谷歌电子表格 API 将数据写入和更新到电子表格 我已经按照google提供的Android Quickstart进行操作谷歌表格API 安卓快速入门 https developers google co
  • window.mozIndexedDB 在 Firefox 15 中为 null

    我正在尝试运行 使用 IndexedDB 示例代码https developer mozilla org en US docs IndexedDB Using IndexedDB https developer mozilla org en
  • 在selenium python中单击滑块按钮

    我的问题如下 我正在接受检索本网站信息的培训https www cetelem es https www cetelem es 我想做几件事 单击两个滑动按钮可更改信息 检索滑动按钮变化后的信息 设置条件 仅在tin和tae改变时检索信息
  • 如何从 PHPMyAdmin 导出 MySQL 数据库并将其导入到 SQLite?

    我想从 PHPMyAdmin 或 MySQl Workbench 导出数据库并将其导入 SQLite 数据库 以便我可以进行本地编辑和测试 而不会搞砸实时版本 我对 SQL 非常陌生 所以此时所有导出选项等对我来说都相当密集 我尝试使用默认
  • SQL查询获取连接航班的src到dest路径

    我想解决一个问题 我希望找到从 src 到dest 的飞行路径 包括转机航班 如果可能的话 按所需时间对其进行排序 我可以使用像 listagg 这样的东西以某种方式将中间航班聚合为字符串吗 我们可以将转机航班的数量和所用的时间限制在一定范
  • 错误:无法获取元数据;使用WCF测试客户端,C#,并尝试实现webhttpbinding和json

    我得到了传说中的Error Cannot obtain Metadata from 消息 特别是http localhost 1640 Service1 svc我已经搜索过 stackoverflow 和 Google 但到目前为止 没有任
  • 尝试连接数据库时出现奇怪的错误

    在过去一天左右的时间里 我无法通过 PHP 连接到数据库 这是我连接到数据库的代码的样子 con mysqli connect localhost root password database 这是一个奇怪的错误 PHP 警告 mysqli
  • 没有元素的 xs:mixed 是什么意思?

    我从一位客户那里得到了以下 XSD 位 它是跨越数十个文件的遗留架构的一部分
  • x86-64 指令集、AT&T 语法、lea 和括号的混淆

    有人告诉我 lea rax rdx 是无效语法 因为源代码需要放在括号中 即 lea rax rdx 我想我显然误解了 lea 和括号的目的 我以为 lea rax rdx 会将 rax 中存储的内存地址移动到 rdx 但显然这就是 lea
  • 数据框中未定义所选列时出错

    我一直在做一项作业 我必须从 specdata 目录中读取一些 csv 文件 这些文件非常相似 有 332 个标题为 001 csv 332 csv 如果重要的话 它们具有一致的列和标题 我相信我已经很接近了 但我被上面的错误消息绊倒了 错
  • 连接稀疏矩阵特征值

    我在特征中有两个稀疏矩阵 我想将它们垂直连接成一个 例如 代码的目标是 SparseMatrix
  • events.js:183 抛出错误; // 未处理的“错误”事件

    我通过命令创建了一个新的 React 项目npx create react app agent mo项目 它已被创建 但在启动时npm start我收到以下错误 运行以下命令以避免 ENOSPC echo fs inotify max us
  • 减慢 for 循环以使 Canvas 动画化

    我正在尝试使用画布制作一些东西 我可以在其中传递一个数字 该数字等于0 360的某个度数 并且一条线将从其当前位置到我设置的度数进行动画处理 现在我已经将线路转到了我想要的任何程度 我还没有完成我传递程度的功能部分 现在只是在 for 循环