javascript - 在 animatecc 脚本之外访问 createjs 函数
问题描述
我现在在这个问题上搜索了很长一段时间,似乎没有解决这个问题的方法。但是,在结案之前,我想在这里说明问题,作为最后一步,以确保我没有遗漏任何内容。 问题:我有一个嵌入 iframe 元素中的 adobean animatecc 图形。该图形是由我目前工作的一家公司的编辑创建的。我的主管现在希望我从这个创建的 animatecc 图形之外停止动画。所以基本上我想访问 Ticker 元素,它保存有关 fps 速率的信息,以便更改它的值,从而让动画停止。无论如何,从 adobe 工具生成该图形后,似乎无法介入该图形。你们中有人遇到过同样的问题并且能够解决吗?
如果有人有任何解决方案或建议来解决这个问题,那将是非常有帮助的。
在此先感谢各位,祝您有美好的一天。
解决方案
如果您在同一个域中,您应该能够访问嵌入的 iframe 上下文。
var context = document.getElementById("iframe").contentWindow;
从那里开始,它应该像重置 Ticker 一样简单。该createjs
对象是窗口中的一个全局对象,所有 CreateJS 内容都驻留于此。
context.createjs.Ticker.reset();
您还提到了降低帧速率——这也可能有效:
context.createjs.Ticker.timingMode = "interval"; // Required as RAF can't change framerate
context.createjs.Ticker.framerate = 0.0001; // 0 will cause a division by 0 error probably
最后一点:Ticker 确实支持“暂停”,但它实际上并没有停止滴答,而是由开发人员根据 Ticker 事件来实现暂停。
希望有帮助!
推荐阅读
- android - 检索 SQLiteDatabase 表的行数时,getInt 返回零
- multithreading - CMPXCHG 在这个 NASM 程序中不是原子的
- ios - 选择表格视图单元格以显示和隐藏 UIView
- android - 如何让菜单项响应命令?
- python-3.x - 使用 pandas 修改 XLSX 数据集
- ios - 如何强制新用户或刚注册的用户必须先填写表格(IOS中的FirebaseUI)
- reactjs - ReactJS:获取响应不返回到 componentDidMount;无法加载 PDF
- flutter - 如何在 Flutter 中圆滑滑块的角
- ruby-on-rails - 将参数添加到选项卡以在 if 语句中使用
- arduino - 将字符串转换为 Char* 并使用 SHA-256 对其进行哈希处理