1

我想用 Flash CC 和 createJS 创建一个应用程序。

它只是一个“演示幻灯片”应用程序。我希望在我的应用程序中有一个Master Slide画布文件(例如MasterSlide.html),它将包含来自外部 html 文件(例如slide1.htlm, slide2.html ... etc)的任何其他幻灯片。

问题是,如何MasterSlide.html使用 createJS 加载外部幻灯片文件(在 Actionscript 中可以loader用来加载外部 swf)?如果您有任何解决方案,我将不胜感激。

4

2 回答 2

2

您可以加载Flash CC 生成的JavaScript 文件(最简单的方法是使用PreloadJS),然后实例化“舞台”MovieClip(以Flash 文件命名)。

var queue = new createjs.LoadQueue();
queue.on("load", handleComplete);
queue.loadFile("MySlide.js");

function handleComplete(event) {
    var exportRoot = new lib.MySlide();
    stage.addChild(exportRoot);
}

不幸的是,事情并不是这么简单:

  1. 这不会预加载任何图像或音频。你必须先这样做。Flash 生成的导出 HTML 应该向您展示它是如何进行的。
  2. 所有库当前都存储在lib命名空间中,因此您要么必须在 Flash 导出设置(每个文件)中更改它,要么自己管理它。我们这样做的一种方法是在加载文件后重新分配lib对象,然后将其设置为 null。

这是一个快速示例:

function handleComplete(event) {
    myModules[currentModuleId] = lib;
    lib = null; // Wipe this, it gets auto-created the next time a module loads.
}

我们使用这种方法取得了巨大成功。它比 Flash Loader 手动得多,但可以做到。

希望这可以帮助!

于 2015-03-16T15:59:22.877 回答
0

它的神奇之处在于您可以在一个 html 文件中加载另一个文件

用文件夹目录代码替换 webcode 。它会起作用,它会加载到你的舞台上

man.addEventListener('click', fl_MouseClickHandler_2);

function fl_MouseClickHandler_2(event)
{
window.open("http://graphicscoder.org/", "_self");
}

所以我用我的文件夹目录文件替换了 flash cc 导出。当我在舞台上单击“man”movieclip 时,文件在舞台上加载的魔力。就像在 as3 中将另一个 .swf 加载到一个 .swf 一样。更容易。实际上,您可以使用 createjs 制作具有多个阶段的大型电子学习/游戏项目。

man.addEventListener('click', fl_MouseClickHandler_2);

function fl_MouseClickHandler_2(event)
{
window.open("akun/cuen.html", "_self");
}
于 2016-04-03T17:45:36.400 回答