3.0 预览版,bug反馈,希望可以得到大佬的关注

image

这方案还是无法解决红线啊,上面解决了下面一大堆红色

所以为啥变量要强制写个=null?

强制写null? 是说在声明的时候,不用 = null 么?

对啊
@property(cc.Node)
private node_x: cc.Node;
直接这么申明不就好了么

据说跟unity4.6更接近了

需要将 car 声明为 car: Node | null 是因为:

  1. TypeScript 的要求:如果只将 car 声明为 car: Node,那么 TypeScript 要求你必须给 car 一个类型为 Node 的初始化值。
  2. 的确,这个字段当你未在编辑器中指定值时,它是一个空值而不是 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的么? 为啥说必须给一个值?

呶。

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

image
那种报错怎么搞定啊~


3.0的配色明显感觉没有2.x的对比度高啊

image

批量拖拽资源的时候,总是会多一个,第一个会多复制一份

反馈+1 能不能弄个像laya这样的图片预览 只有小图标还是不大方便啊

这个面板怎么才能嵌进去???

因为 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的时候直接提示名称重复,而不是确定的时候检测名称重复,感觉体验感不好

从git上pull下来 模型导入报错

image 模型预览窗多个模型错乱出现

image

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

= null !
// 感叹号 ! 告诉 TypeScript 强制将 null 转换为 xxx 类型。

1赞