记录Unity转Laya(TypeScript下会遇到的坑)
- 与javascript不同,typescript下this.owner有指定类型为Node。例如:
// 错误使用方法
this.owner.transform
//Node类型不包含transform
// 正确使用方法
private self: any = null;
constructor() {
super();
//测试后发现不可以在此处赋值this.self,所以在onAwake赋值
}
onAwake(): void { this.self = this.owner; }
myTransform(): void { console.log(this.self.transform) }
- 当项目中有使用到3D物理效果,与js不同的是,js只需要在"index.js"里引用"laya.physics3D.js",而ts则需要在ui编辑界面按"F9",勾选对应的库,ts直接在"index.js"下添加库还是会报没有添加对应库的错误。一般开发3D项目需要引用的库:
loadLib("libs/laya.core.js")
loadLib("libs/laya.ui.js") //如果使用了Laya自带的ui
loadLib("libs/laya.d3.js")
//loadLib("libs/laya.physics.js") //如果使用了Laya2d物理
loadLib("libs/laya.physics3D.js") //如果使用了Laya2d物理
loadLib("libs/fairygui/fairygui.js") //如果使用了FGUI
loadLib("libs/rawinflate/rawinflate.min.js")
//-----libs-end-------
loadLib("js/bundle.js");
如果遇到新的坑再做补充