【问题标题】:inherit the createjs.Container from easeljs library从easeljs 库继承createjs.Container
【发布时间】:2014-10-07 21:04:18
【问题描述】:

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

    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)新容器中的另一个图像并添加到舞台。 同时,后面的图像也添加到了我添加到舞台的另一个子容器中。

【问题讨论】:

  • 不太明白.. 我有一个继承自 Container 的 Basic 类,然后我有一个从 Basic 继承的 LocalPhoto... 不知何故,以前的 LocalPhoto 与后来创建的 LocalPhoto 相关联
  • 哦,我知道为什么......我必须为容器调用初始化......但为什么我们要强制这样做而不是隐藏我们......
  • 因为初始化类似于传统OOP语言中调用super()。 JavaScript 不附带super,因此它需要一种方法来初始化继承的类。
  • 哦是初始化部分javascript函数或createjs类

标签: javascript jquery inheritance easeljs


【解决方案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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多