从easeljs库继承createjs.Container

时间:2014-08-14 09:06:51

标签: javascript jquery inheritance easeljs

我在业余时间使用Easeljs。我试图从easeljs库中的createjs对象继承Container。

    var innovative = {};
innovative.object = {};

innovative.object.Basic = function () {

};

//innovative.object.Basic.prototype = new createjs.Container;

innovative.object.LocalPhoto = function (data) {
};

innovative.object.LocalPhoto.prototype = new innovative.object.Basic;
innovative.object.LocalPhoto.prototype.constructor = innovative.object.LocalPhoto;

我在LocalPhoto中有功能,它会将自己添加到舞台中,就像这样

innovative.object.LocalPhoto.prototype.load = function (stage, event) {
    var self = this;
            stage.addChild(self);
            stage.update();

};

这是我创建LocalPhoto对象的方式

  var self = this;
                        for (var i = 0; i < values.length; i++) {
                            this.download (values[i], function (evt) {
                                var photo;
                                photo = new innovative.object.LocalPhoto(evt.target.object);

                                photo.load(self.stage, evt);
});
}

我面临的问题是当我在舞台上添加LocalPhoto时,该舞台中其余的localPhoto也会附加相同的照片。

这就是我的意思:1)在容器中插入图像并添加到舞台中。                  2)新容器中的另一个图像并添加到舞台中。                     同时,后面的图像也添加到我已添加到舞台的另一个子容器中。

1 个答案:

答案 0 :(得分:-1)

(function() {

function YourFunc(param) {
    this.Container_constructor();
    this.param = param;
}
var p = createjs.extend(YourFunc, createjs.Container);

p.draw = function() {
    this.Container_draw();
    // add custom logic here.
}

window.Button = createjs.promote(Button, "Container");
}());

或者只是

var p = YourFunc.prototype = new createjs.Container();