有办法new component (javascript),在typescript上吗?

我的写法如下:
////////////////////////PokerSprite.js
cc.Class({
extends: cc.Component,
ctor: function() {
}

}

//////////////////////////Main.ts
import * as PokerSprite from “./PokerSprite”;

let tmp = new PokerSprite();

但这样写会出现:
TypeError: this.initProps is not a function

有什么办法可以解决这问题吗?

继承自 cc.Component 的 cc.Class 不让重写 ctor,报错说的是 initProps 这个方法没了,你把你代码发完整看看

你要重写就调下 this._super()

是说在javascript上的ctor里
写上this._super()吗?
像这样:

ctor: function(){
this._super();
}

我还真没怎么用过 cc.Class 当类用,你试试,我记得是这样的

不行,
还是无法编译过关。

你说下为啥要 new 一个 CCComponent 嘛

用addComponent试试

是要用到node的功能,
会把自己传出去产生Node:

createCard: function (cbCardData, resMap) {
    this.m_spFront = new cc.Node()
    const sprite = this.m_spFront.addComponent(cc.Sprite)
    return this;
},

不行,
现在主要问题是怎样在typescript上,
用javascript的component,

import * as PokerSprite from “./PokerSprite”;

这样可行吗?

Main.ts中加入这个节点创建方法应该满足需求吧:

createCard(cbCardData: any, resMap: any) {
let card = new cc.Node();
card.addComponent(cc.Sprite);
// 可能需要的
let cardCom = card.addComponent(Card);
cardCom.init(cbCardData, resMap);
return card;
}

现在问题是在typescript上,
无法new出来javascript的component。

问题解决了,
要采用,

import PokerSprite = require("./PokerSprite");

这种方式.
接着在main.ts内.

let tmp = new PokerSprite();

或许会出现红线.
但执行上没有问题的.