关于使用TypeScript工程的吐槽····

既然官方决定支持TS了···为什么不能把creator.d.ts文件好好完善一下啊···
在用TS开发过程中经常遇到缺少定义报错···
就我发现的就有Node中的_sgNode,截图用到的cc.RenderTexture,gl。
然后还有cc.Director.EVENT_AFTER_SCENE_LAUNCH等等事件也没有···
我知道可以自己去添加···但是每次习惯性的去ccc编辑器中更新vscode智能提示又会把本地改好的文件给覆盖了···
我已经被坑了好几次了···所以建议官方能尽量完善一下d.ts文件···

谢谢···

1赞

因为_sgNode官方不推荐使用。你可以自己搞一个单独的.d.ts文件补充一下:

declare module cc {
    interface Node {
        _sgNode: cc.Node;
    }
}

我知道自己怎么添加···我只是想抱怨给官方···d.ts文件有太多缺失···

那些都是未公开的 API,API 文档中也没有的。之后可能会有调整(已经确定 _sgNode, cc.eventManager 之类的会被干掉了),所以现在暂时不正式支持。

不是,在另一个文件中这样添加。这样添加完更新vscode智能提示的时候不会被覆盖。

我说的重点不是_sgNode上啊···除了这个···那其他的呢?
比如cc.RenderTexture,gl呢?
比如:cc.Director.EVENT_AFTER_SCENE_LAUNCH等等事件呢?
这些也不要了?这些也要干掉?

哦···我明白你的意思了···我知道了···重复定义不会有问题吗?

文档里有的Api如果creator.d.ts中没有,可以发帖反馈,官方看到会添加上的。其它的就像我上面那样自己定义,TypeScript支持的。

这些都是内部接口…… 目前还没正式支持这些功能

cc.Director.EVENT_AFTER_SCENE_LAUNCH这种东西···api上找到的···也不支持吗?

这个是支持的,只是之前 API 文档没写对。我调整一下就行了,多谢反馈。
https://github.com/cocos-creator/engine/pull/1951

http://forum.cocos.com/t/v1-5-2-typescript/49727
这个问题在v1.5.2就提过了,现在还不是没改,虽然都都是些小问题,

反馈的 API 不同

既然支持TS了,那TS里的接口支持怎么那么脆弱呢,一直找不到方法怎么判断一个对象是否为某个接口的实例…instanceof不支持接口,尖括号、as转换后不为null,也不为undefind

不懂你在说什么…… 楼主反馈的问题已经完善了。你说的这些不属于 Creator 范畴吧?只不过是 TS 本身的语法细节。

为了填满他们的需求,你们去创造一个cocos script吧 :laughing:

支持
this.icon._sgNode.setState(1);
_sgNode 在ts工程会爆红

哦 原来是准备废弃的接口,那如果吧节点置灰现在用哪个api?