据说跟unity更接近了

这方案还是无法解决红线啊,上面解决了下面一大堆红色
所以为啥变量要强制写个=null?
强制写null? 是说在声明的时候,不用 = null 么?
对啊
@property(cc.Node)
private node_x: cc.Node;
直接这么申明不就好了么
据说跟unity4.6更接近了
需要将 car 声明为 car: Node | null 是因为:
- TypeScript 的要求:如果只将
car声明为car: Node,那么 TypeScript 要求你必须给car一个类型为Node的初始化值。 - 的确,这个字段当你未在编辑器中指定值时,它是一个空值而不是
Node。
目前版本的解决办法:
class C {
@property
car: Node = null!; // 感叹号 `!` 告诉 TypeScript 强制将 `null` 转换为 `Node` 类型。
}
我们会在下个版本进行优化,届时,可以忽略掉初始化式:
class C {
@property
car!: Node; // 感叹号 `!` 告诉 TypeScript 我这个字段不需要初始化式(会由 Creator 进行正确初始化)
}
这个写法等价于:
class C {
@property
car: Node = undefined!; // 感叹号 `!` 告诉 TypeScript 强制将 `undefined` 转换为 `Node` 类型。
}
4赞
ts里申明一个变量如果未赋值 默认不是undefined的么? 为啥说必须给一个值?

编辑文件名的时候,用鼠标划着选名字不行,直接就变成拖拽了

那种报错怎么搞定啊~

批量拖拽资源的时候,总是会多一个,第一个会多复制一份
因为 getComponent 返回的是 Component | null,所以你需要处理 null 的情况:
const sprite = this.node.getComponent(Sprite);
if (this.sprite) {
this.sprite = sprite;
}
当然了,如果你能百分百确定这个组件一定存在:
this.sprite = this.node.getComponent(Sprite)!; // 感叹号是断言一定不为 `null`
1赞
另外复制一份生成副本默认以 原名称-xxx 来命名,但是当重命名删除-xxx的时候直接提示名称重复,而不是确定的时候检测名称重复,感觉体验感不好
模型预览窗多个模型错乱出现

3.0中为什么不可以这样设置单例了





