我正在将一个大型 FLA AS3 项目转换为 Canvas/JS。我有一个大型的 AS 文件外部文件夹结构和许多与类相关的库对象。
我已将 FLA 转换为画布模式,但找不到将 JS 文件关联到对象的方法。我已经看到有关在框架脚本中包含 JS 的在线示例,但我真的希望找到一种方法来处理外部文件和库对象关联。
我将不胜感激任何有关如何完成的方向或示例。
谢谢
我正在将一个大型 FLA AS3 项目转换为 Canvas/JS。我有一个大型的 AS 文件外部文件夹结构和许多与类相关的库对象。
我已将 FLA 转换为画布模式,但找不到将 JS 文件关联到对象的方法。我已经看到有关在框架脚本中包含 JS 的在线示例,但我真的希望找到一种方法来处理外部文件和库对象关联。
我将不胜感激任何有关如何完成的方向或示例。
谢谢
我所做的是将我所有的 JS 实用程序添加到来自 Animate 的动态 html 中,appenChild
如下所示:
框架脚本:
function loadScript(url) {
var body = document.getElementsByTagName('body')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
body.appendChild(script);
}
loadScript('assets/app/myUtilities.js');
loadScript('assets/libs/coolTool.js');
loadScript('etc..');
s = this; //to have access to the stage
并像这样从外部 JS访问舞台:
s.my_movieclip.addEventListener("click", fl_MouseClickHandler.bind(s));
function fl_MouseClickHandler() {
console.log('I want banana!');
}
我看到的是,不幸的是,似乎不可能在 Animate 中使用画布动态实例化库中的对象,我认为最好的解决方案是在时间轴上准备您的视图。
另一方面,JS 提供了很多功能(例如从您的代码中调用 Bootstrap 对话框模式)。
我花了一些时间并设法更好地了解它的工作原理,并创建了一个简单的示例,将具有外部 AS 文件和面向对象结构的 Flash Actionscript 项目转换为具有类似文件结构的 Animate CC Canvas 和 Javascript 文件项目。
CreateJS 可以为您做到这一点(PreloadJS 库)。
var queue = new createjs.LoadQueue();
queue.loadManifest([
"auxiliary.js",
"main.js"
]);