Createjs,如何扩展动画CC库对象的类



我正在使用Typescript将大型闪存应用程序转换为画布,并且我在使用类扩展库对象时遇到了麻烦。

使用按钮的类库,

class BtnClass { 
    constructor(el: createjs.MovieClip) {
        el.addEventListener("mouseover", MouseOverHandler.bind(el));
    }
}

如果我在Animate CC中的舞台上放置一个对象,可以通过在导出框架中添加动作,所有这些都可以使用此类,所有这些都可以很好地效果,

Btn1 = new BtnClass(this.buttons.btn1_mc);

,但我无法为动态放置的库对象工作。

试图在没有放置在动画cc阶段的库对象上扩展对象时会出现错误。

var libraryObject = new lib.btn2_mc();
var dynamicButton = createjs.extend(new BtnClass(libraryObject), libraryObject);
currentElement.addChild(dynamicButton);

错误:类型'BTNClass'的参数不能分配给Type'((=> Any'的参数。键入'BTNClass'不提供签名'((:任何'。

任何想法都将受到赞赏。

我正在以以下方式及其作品扩展createjs组件。如果您有任何问题,请尝试让我知道

class BtnClass extends (lib.btn2_mc as { new(): any; }) {
}

extend方法将类作为参数而不是实例。

createjs.extend(BtnClass, lib.btn2_mc);

然后它返回原型,您可以将方法附加到。然后,您可以从超级类提升方法,如果您覆盖了原型方法,则可以访问原型方法。有关特定用法,请参见Easeljs类。

不确定它会解决您的问题,但至少是正确的语法。

相关内容

  • 没有找到相关文章

最新更新