同一HTML页面中的两个Flash cc动画

时间:2015-08-09 06:33:20

标签: html5 dom createjs

有没有办法在同一个HTML页面中保留两个或更多flash cc create.js动画?

问题是第一个消失,第二个动画来到第一个动画场所。真奇怪。

它包含gcc a.c -o a; ./a; ## ## enter your choice : ## 1. addition ## 2. multiplication ## 3. saddle point ## 4. magic square ## 1 ## ## enter the order of matrix A : 3 2 ## ## input the elements of the matrix : 1 2 3 4 5 6 ## ## enter the order of matrix B : 3 2 ## ## input the elements of the matrix : 7 8 9 10 11 12 ## ## the result of the addition of matrices is : ## 8 10 ## 12 14 ## 16 18 ./a; ## ## enter your choice : ## 1. addition ## 2. multiplication ## 3. saddle point ## 4. magic square ## 1 ## ## enter the order of matrix A : 1 1 ## ## input the elements of the matrix : 3 ## ## enter the order of matrix B : 2 1 ## ## these matrices can't be added ./a; ## ## enter your choice : ## 1. addition ## 2. multiplication ## 3. saddle point ## 4. magic square ## 2 ## ## enter the order of matrix A : 3 2 ## ## input the elements of the matrix : 1 2 3 4 5 6 ## ## enter the order of matrix B : 2 1 ## ## input the elements of the matrix : 10 20 ## ## 50 ## 110 ## 170 ./a; ## ## enter your choice : ## 1. addition ## 2. multiplication ## 3. saddle point ## 4. magic square ## 2 ## ## enter the order of matrix A : 3 2 ## ## input the elements of the matrix : 1 2 3 4 5 6 ## ## enter the order of matrix B : 1 2 ## ## input the elements of the matrix : 1 2 ## ## these matrices can't be multiplied ./a; ## ## enter your choice : ## 1. addition ## 2. multiplication ## 3. saddle point ## 4. magic square ## 3 ## ## enter the order of matrix A : 3 2 ## ## input the elements of the matrix : 1 2 3 4 5 6 ## ## the saddle point of the matrix is found at position (2,0) value is 5 ./a; ## ## enter your choice : ## 1. addition ## 2. multiplication ## 3. saddle point ## 4. magic square ## 3 ## ## enter the order of matrix A : 3 2 ## ## input the elements of the matrix : 6 5 4 3 2 1 ## ## the saddle point of the matrix is found at position (0,1) value is 5 ./a; ## ## enter your choice : ## 1. addition ## 2. multiplication ## 3. saddle point ## 4. magic square ## 3 ## ## enter the order of matrix A : 3 2 ## ## input the elements of the matrix : 1 2 2 1 1 2 ## ## there is no saddle point in the matrix 两次。

<script> </script>

这是链接:任何人都可以解决这个问题吗?

  

已移除链接,因为它会导致垃圾邮件内容

2 个答案:

答案 0 :(得分:4)

可能,但您需要进行一些编辑。首先,您应该更改其中一部电影的库名称。您将需要保留lib属性对象(包含图像清单和其他FLA属性)。此外,如果您有任何类似的符号名称,则可能会遇到冲突,并且将覆盖第一个库项目。

您可以在发布设置中更改库名称。默认值为&#34; lib&#34;,它生成一个窗口级对象,其中定义了所有符号。您可以在Flash CC创建的js文件中查看如何生成lib。 Library Properties

您可能也想更改图片对象的名称,但您不必这样做。单独保留CreateJS参考。

接下来,您需要确保每个动画的画布都具有唯一的名称。默认情况下,它只是命名为&#34; canvas&#34;。更改其中一个用法中的画布ID,然后更改创建舞台的关联ID。

<canvas id="canvas" width="550" height="400" style="background-color:#FFFFFF"></canvas>

canvas = document.getElementById("canvas");

我还建议您更改诸如舞台名称,exportRoot和其他变量之类的内容,以防您计划对它们执行任何操作。如果一切都按照正确的顺序发生,那么一切都会好的。

  

[更新] :如果您有任何资源加载,您将需要进行更改   这些变量的名称。加载资产使   模板中的handleComplete方法异步启动 - 意思是   它将始终引用第二个画布/舞台/等。

最后,请确保您只定义一次必要的元素。您应该只导入一次CreateJS库。有些东西可能不受支持,例如,您只能有一个Ticker帧速率。另请注意,在您提供的链接中,您有2个HEAD和BODY标记。你应该将它们合并为一个。

我希望这提供了一些有用的方向。

答案 1 :(得分:-1)

查找和替换也可以。首先在页面中包含基本库脚本:

<script src="js/easeljs-0.8.1.min.js"></script>
<script src="js/tweenjs-0.6.1.min.js"></script>
<script src="js/movieclip-0.8.1.min.js"></script>

然后在下面加入两个动画:

<script src="js/anim-1.js"></script>
<script src="js/anim-2.js"></script>

接下来,您需要包含用于初始化动画的代码。在我的示例动画中,两个人在五秒钟后取代动画:

<script>
    function init() {
        var canvas, stage, exportRoot;

        createjs.MotionGuidePlugin.install();
        canvas = document.getElementById("canvas");
        exportRoot = new libFirst.first(); // libFirst
        stage = new createjs.Stage(canvas);
        stage.addChild(exportRoot);
        stage.update();
        createjs.Ticker.setFPS(libFirst.properties.fps); // libFirst
        createjs.Ticker.addEventListener("tick", stage);

        // after five seconds replace with animation two
        window.setTimeout(function () {
            canvas = document.getElementById("canvas");
            exportRoot = new libSecond.second(); // libSecond
            stage = new createjs.Stage(canvas);
            stage.addChild(exportRoot);
            stage.update();
            createjs.Ticker.setFPS(libSecond.properties.fps); // libSecond
            createjs.Ticker.addEventListener("tick", stage);
        }, 5000);
    }
</script>

注意'lib'是如何更改为'libFirst'和'libSecond'的。最后,您需要在动画文件中找到替换:

anim-1.js replace all 'lib' with 'libFirst'
anim-2.js replace all 'lib' with 'libSecond'

然后动画2将取代动画1