导出CreateJS lib资产以与require.js一起使用

羽毛球猫

我正在尝试使用从Flash IDE导出的资产(矢量,影片剪辑等)用于CreateJS,但是我们正在使用require.js来管理我们的JS代码,因此导出的lib JS与使用require.js加载不直接兼容。

有没有人想出要对导出的JS进行哪些更改以使其适合与require.js一起使用?这是此类导出的JS代码的示例:

(function(lib, img, cjs)
{

    var p; // shortcut to reference prototypes

    // stage content:
    (lib.Lib = function()
    {
        this.initialize();

        // Layer 1
        this.background = new lib.Background();
        this.background.setTransform(320, 240, 1, 1, 0, 0, 0, 320, 240);

        this.addChild(this.background);
    }).prototype = p = new cjs.Container();
    p.nominalBounds = new cjs.Rectangle(0, 0, 640, 480);


    // symbols:
    (lib.background = function()
    {
        this.initialize(img.background);
    }).prototype = p = new cjs.Bitmap();
    p.nominalBounds = new cjs.Rectangle(0, 0, 320, 480);


    (lib.flashlogo = function()
    {
        this.initialize(img.flashlogo);
    }).prototype = p = new cjs.Bitmap();
    p.nominalBounds = new cjs.Rectangle(0, 0, 894, 894);


    (lib.Background = function()
    {
        this.initialize();

        // Layer 1
        this.instance = new lib.background();
        this.instance.setTransform(640, 0, 1, 1, 0, 0, 180);

        this.instance_1 = new lib.background();

        this.addChild(this.instance_1, this.instance);
    }).prototype = p = new cjs.Container();
    p.nominalBounds = new cjs.Rectangle(0, 0, 640, 480);


    (lib.BubbleVector = function()
    {
        this.initialize();

        // Layer 1
        this.shape = new cjs.Shape();
        this.shape.graphics.f().s("rgba(215,254,255,0.741)").ss(8.7, 1, 1).p("EArYgrXQR+R+AAZZQAAZax+R+Qx+R+5aAAQ5ZAAx+x+Qx+x+AA5aQAA5ZR+x+QR+x+ZZAAQZaAAR+R+g");

        this.shape_1 = new cjs.Shape();
        this.shape_1.graphics.rf([
            "rgba(149,235,252,0)", "rgba(149,235,252,0.102)", "rgba(149,235,252,0.451)", "rgba(145,173,255,0.576)",
            "rgba(67,170,233,0.851)"
        ], [
            0, 0.357, 0.745, 0.922, 1
        ], -0.2, -0.1, 0, -0.2, -0.1, 389.2).s().p("EgrXArYQx+x+AA5aQAA5ZR+x+QR+x+ZZAAQZaAAR+R+QR+R+AAZZQAAZax+R+Qx+R+5aAAQ5ZAAx+x+gAOgNzQhWBXAAB7QAAB7BWBWQBYBYB7gBQB6ABBXhYQBXhWAAh7QAAh7hXhXQhXhXh6ABQh7gBhYBXgA2k2IQg3A4AABOQAABPA3A3QA5A4BOABQBPgBA3g4QA4g3AAhPQAAhOg4g4Qg3g4hPAAQhOAAg5A4g");

        this.shape_2 = new cjs.Shape();
        this.shape_2.graphics.rf(["#FFEBFC", "rgba(189,238,250,0.137)"], [
            0.42, 1
        ], 0, 0, 0, 0, 0, 31.5).s().p("AjRDQQhWhWAAh6QAAh5BWhXQBYhXB5AAQB6AABXBXQBXBXAAB5QAAB6hXBWQhXBYh6AAQh5AAhYhYg");
        this.shape_2.setTransform(113.9, 109.4);

        this.shape_3 = new cjs.Shape();
        this.shape_3.graphics.rf(["#FFEBFC", "rgba(189,238,250,0.251)"], [
            0.455, 1
        ], 0, 0, 0, 0, 0, 20.2).s().p("AiFCFQg4g3ABhOQgBhNA4g4QA4g4BNAAQBOAAA4A4QA3A4AABNQAABOg3A3Qg4A4hOABQhNgBg4g4g");
        this.shape_3.setTransform(-131, -128.2);

        this.addChild(this.shape_3, this.shape_2, this.shape_1, this.shape);
    }).prototype = p = new cjs.Container();
    p.nominalBounds = new cjs.Rectangle(-392.6, -392.6, 785.3, 785.3);


    (lib.Bubble = function(mode, startPosition, loop)
    {
        this.initialize(mode, startPosition, loop, {});

        // Layer 1
        this.instance = new lib.BubbleVector();
        this.instance.setTransform(0, 0, 0.4, 0.4);

        this.timeline.addTween(cjs.Tween.get(this.instance).to({scaleY: 0.4, skewX: 3.3}, 11).to({skewX: -3.1}, 24).to({scaleY: 0.4, skewX: 0}, 12).wait(1));

    }).prototype = p = new cjs.MovieClip();
    p.nominalBounds = new cjs.Rectangle(-157, -157, 314.1, 314.1);

})(lib = lib || {}, images = images || {}, createjs = createjs || {});
var lib, images, createjs;

...你看,这很混乱。

安德鲁·舒斯塔里约夫(Andrew Shustariov)

好的,这就是我得到的:

据我从您的代码了解-您想对您的libvar进行乘方运算

因此,这是RequireJs的基本示例:

index.html

<!doctype html>
<html>
    <head>
    </head>
    <body>
        <div id="stage"></div>
        <script data-main="main" src="require.js"></script>
    </body>
</html>

main.js

require.config({
    paths : {
        createJs : '//code.createjs.com/createjs-2013.12.12.min'
    },
    shim : {
        createJs : {exports: 'createjs'}
    }
});

require(['./myModule'], function(myModule) {
    console.log(myModule);
});

和您的模块:

define(['createJs'], function(cjs) {

//(function(lib, img, cjs)
//{
var lib = lib || {};
    var p;  //shortcut to reference prototypes

    // stage content
    (lib.Lib = function()
    {
        this.initialize();

        // Layer 1
        this.background = new lib.Background();
        this.background.setTransform(320, 240, 1, 1, 0, 0, 0, 320, 240);

        this.addChild(this.background);
    }).prototype = p = new cjs.Container();
    p.nominalBounds = new cjs.Rectangle(0, 0, 640, 480);


    // symbols
    (lib.background = function()
    {
        this.initialize(img.background);
    }).prototype = p = new cjs.Bitmap();
    p.nominalBounds = new cjs.Rectangle(0, 0, 320, 480);


    (lib.flashlogo = function()
    {
        this.initialize(img.flashlogo);
    }).prototype = p = new cjs.Bitmap();
    p.nominalBounds = new cjs.Rectangle(0, 0, 894, 894);


    (lib.Background = function()
    {
        this.initialize();

        // Layer 1
        this.instance = new lib.background();
        this.instance.setTransform(640, 0, 1, 1, 0, 0, 180);

        this.instance_1 = new lib.background();

        this.addChild(this.instance_1, this.instance);
    }).prototype = p = new cjs.Container();
    p.nominalBounds = new cjs.Rectangle(0, 0, 640, 480);


    (lib.BubbleVector = function()
    {
        this.initialize();

        // Layer 1
        this.shape = new cjs.Shape();
        this.shape.graphics.f().s(rgba(215,254,255,0.741)).ss(8.7, 1, 1).p("EArYgrXQR+R+AAZZQAAZax+R+Qx+R+5aAAQ5ZAAx+x+Qx+x+AA5aQAA5ZR+x+QR+x+ZZAAQZaAAR+R+g");

        this.shape_1 = new cjs.Shape();
        this.shape_1.graphics.rf([
            rgba(149,235,252,0), rgba(149,235,252,0.102), rgba(149,235,252,0.451), rgba(145,173,255,0.576),
            rgba(67,170,233,0.851)
        ], [
            0, 0.357, 0.745, 0.922, 1
        ], -0.2, -0.1, 0, -0.2, -0.1, 389.2).s().p("EgrXArYQx+x+AA5aQAA5ZR+x+QR+x+ZZAAQZaAAR+R+QR+R+AAZZQAAZax+R+Qx+R+5aAAQ5ZAAx+x+gAOgNzQhWBXAAB7QAAB7BWBWQBYBYB7gBQB6ABBXhYQBXhWAAh7QAAh7hXhXQhXhXh6ABQh7gBhYBXgA2k2IQg3A4AABOQAABPA3A3QA5A4BOABQBPgBA3g4QA4g3AAhPQAAhOg4g4Qg3g4hPAAQhOAAg5A4g");

        this.shape_2 = new cjs.Shape();
        this.shape_2.graphics.rf(["#FFEBFC", rgba(189,238,250,0.137)], [
            0.42, 1
        ], 0, 0, 0, 0, 0, 31.5).s().p("AjRDQQhWhWAAh6QAAh5BWhXQBYhXB5AAQB6AABXBXQBXBXAAB5QAAB6hXBWQhXBYh6AAQh5AAhYhYg");
        this.shape_2.setTransform(113.9, 109.4);

        this.shape_3 = new cjs.Shape();
        this.shape_3.graphics.rf(["#FFEBFC", rgba(189,238,250,0.251)], [
            0.455, 1
        ], 0, 0, 0, 0, 0, 20.2).s().p("AiFCFQg4g3ABhOQgBhNA4g4QA4g4BNAAQBOAAA4A4QA3A4AABNQAABOg3A3Qg4A4hOABQhNgBg4g4g");
        this.shape_3.setTransform(-131, -128.2);

        this.addChild(this.shape_3, this.shape_2, this.shape_1, this.shape);
    }).prototype = p = new cjs.Container();
    p.nominalBounds = new cjs.Rectangle(-392.6, -392.6, 785.3, 785.3);

    // MovieClip is UNDEFINED HERE!!!
    /*(lib.Bubble = function(mode, startPosition, loop)
    {
        this.initialize(mode, startPosition, loop, {});

        // Layer 1
        this.instance = new lib.BubbleVector();
        this.instance.setTransform(0, 0, 0.4, 0.4);

        this.timeline.addTween(cjs.Tween.get(this.instance).to({scaleY : 0.4, skewX : 3.3}, 11).to({skewX : -3.1}, 24).to({scaleY : 0.4, skewX : 0}, 12).wait(1));

    }).prototype = p = new cjs.MovieClip();
    p.nominalBounds = new cjs.Rectangle(-157, -157, 314.1, 314.1);*/

//})(lib = lib || {}, images = images || {}, createjs = createjs || {});
//var lib, images, createjs;
return lib;
});

如您所见,您只需要将模块包装在define回调和return所有需要的内容中。

而且,似乎CDN中的createJs不仅是lib,这在这里是必需的,因为它不包含MovieClip类,因此我暂时将其注释掉。如果您可以清除使用的库,那么我可以解决一个例子。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Vue JS与Require JS一起使用?

来自分类Dev

require.js无法与MVC一起使用

来自分类Dev

与require一起使用`new`和`()`

来自分类Dev

Angular js:与require js一起使用时如何使用resolve

来自分类Dev

将外部库与Formik一起使用Rollup.JS不尊重命名的导出

来自分类Dev

将clara.io的导出与Three.js和PhysicalJs一起使用

来自分类Dev

使导出默认值与Babel,webpack和Node.js一起使用

来自分类Dev

将Raphael与require js和eve js一起使用

来自分类Dev

将灰尘.js模板与ebrian.marionette和require.js一起使用

来自分类Dev

与网络工作者一起使用require.js的正确方法是什么?

来自分类Dev

将Jquery-ui datepicker与require.js一起使用

来自分类Dev

如何将Kendo UI MVC扩展与require js一起使用?

来自分类Dev

将jquery-ui datepicker与require.js一起使用

来自分类Dev

将D3-tip与require js模块一起使用

来自分类Dev

require 如何與 node.js 中的 new 一起使用?

来自分类Dev

我如何在Node.js中将Q-lib与Restify一起使用

来自分类Dev

我如何在Node.js中将Q-lib与Restify一起使用

来自分类Dev

与具名的导出React类组件一起使用withStyles

来自分类Dev

如何导出变量以与sudo一起使用?

来自分类Dev

资产未与Heroku和Cloudflare一起使用

来自分类Dev

将Azure Media Services与本地资产一起使用

来自分类Dev

使用nodejs创建与ContentBlocks一起使用的REST API(createjs.org)

来自分类Dev

是否可以使用parceljs将EaselJS(CreateJS)与TypeScript一起使用?

来自分类Dev

使用nodejs创建与ContentBlocks一起使用的REST API(createjs.org)

来自分类Dev

如何使用导出Usergrids导出工具导出资产

来自分类Dev

模块定义也可以与node.js,require.js和普通脚本标签一起使用

来自分类Dev

清洗package.json“ main”以与require一起使用

来自分类Dev

将Google Maps lib与Polymer一起使用

来自分类Dev

Angular-将ngStrictDi与GoogleChart lib一起使用

Related 相关文章

  1. 1

    将Vue JS与Require JS一起使用?

  2. 2

    require.js无法与MVC一起使用

  3. 3

    与require一起使用`new`和`()`

  4. 4

    Angular js:与require js一起使用时如何使用resolve

  5. 5

    将外部库与Formik一起使用Rollup.JS不尊重命名的导出

  6. 6

    将clara.io的导出与Three.js和PhysicalJs一起使用

  7. 7

    使导出默认值与Babel,webpack和Node.js一起使用

  8. 8

    将Raphael与require js和eve js一起使用

  9. 9

    将灰尘.js模板与ebrian.marionette和require.js一起使用

  10. 10

    与网络工作者一起使用require.js的正确方法是什么?

  11. 11

    将Jquery-ui datepicker与require.js一起使用

  12. 12

    如何将Kendo UI MVC扩展与require js一起使用?

  13. 13

    将jquery-ui datepicker与require.js一起使用

  14. 14

    将D3-tip与require js模块一起使用

  15. 15

    require 如何與 node.js 中的 new 一起使用?

  16. 16

    我如何在Node.js中将Q-lib与Restify一起使用

  17. 17

    我如何在Node.js中将Q-lib与Restify一起使用

  18. 18

    与具名的导出React类组件一起使用withStyles

  19. 19

    如何导出变量以与sudo一起使用?

  20. 20

    资产未与Heroku和Cloudflare一起使用

  21. 21

    将Azure Media Services与本地资产一起使用

  22. 22

    使用nodejs创建与ContentBlocks一起使用的REST API(createjs.org)

  23. 23

    是否可以使用parceljs将EaselJS(CreateJS)与TypeScript一起使用?

  24. 24

    使用nodejs创建与ContentBlocks一起使用的REST API(createjs.org)

  25. 25

    如何使用导出Usergrids导出工具导出资产

  26. 26

    模块定义也可以与node.js,require.js和普通脚本标签一起使用

  27. 27

    清洗package.json“ main”以与require一起使用

  28. 28

    将Google Maps lib与Polymer一起使用

  29. 29

    Angular-将ngStrictDi与GoogleChart lib一起使用

热门标签

归档