有没有办法在同一个 HTML 页面中保留两个或多个 flash cc create.js 动画?
问题是第一个动画消失,第二个动画出现在第一个动画位置。真奇怪。
它包含<script> </script>两次。
<script>
var canvas, stage, exportRoot;
function init() {
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是链接:谁能解决这个问题?
链接被删除,因为它导致垃圾邮件内容
这是可能的,但需要您进行一些编辑。首先,您应该更改其中一部电影的库名称。您将需要保留 lib 属性对象(包含您的图像清单和其他 FLA 属性)。此外,如果您有任何相似名称的符号,您可能会遇到冲突,并且第一个库项目将被覆盖。
您可以在发布设置中更改库名称。默认值为“lib”,它生成一个窗口级对象,所有符号都在其上定义。您可以在 Flash CC 创建的 js 文件中看到 lib 是如何生成的。
.
您可能还想更改图像对象的名称,但不是必须的。保留 CreateJS 参考。
接下来,您需要确保每个动画的画布都有唯一的名称。默认情况下,它只是命名为“画布”。在其中一种用法中更改画布 id,然后更改创建舞台的关联 ID。
<canvas id="canvas" width="550" height="400" style="background-color:#FFFFFF"></canvas>
Run Code Online (Sandbox Code Playgroud)
和
canvas = document.getElementById("canvas");
Run Code Online (Sandbox Code Playgroud)
我还建议更改诸如阶段名称、exportRoot 和其他变量之类的内容,以防您计划对它们进行任何操作。如果你不这样做,只要一切都按正确的顺序发生就好了。
[更新]:如果您有任何资产加载,您将需要更改这些变量的名称。加载资产使
handleComplete模板中的 方法异步触发——这意味着它总是会引用第二个画布/舞台/等。
最后,确保您只定义一次必要的元素。您应该只导入一次 CreateJS 库。有些东西可能不受支持,例如,您只能有一个 Ticker 帧率。另请注意,在您提供的链接中,您有 2 个 HEAD 和 BODY 标签。您应该将它们合并为一个。
我希望这提供了一些有用的方向。
| 归档时间: |
|
| 查看次数: |
4267 次 |
| 最近记录: |