宠物网站设计首页模板,找人做一个网站多少钱,学校网站栏目建设,c语言必背100代码演示Demo#xff1a;https://gitee.com/szrpf/GlobalModuleDemo
打开Demo#xff0c;运行场景HelloWorld#xff0c;控制台打印结果#xff1a; 打开HelloWorld.ts可以发现#xff0c;aa无需导入就可以在任意脚本中使用 挂在aa下面的属性和方法就是全局的
打开Global/Ba…演示Demohttps://gitee.com/szrpf/GlobalModuleDemo
打开Demo运行场景HelloWorld控制台打印结果 打开HelloWorld.ts可以发现aa无需导入就可以在任意脚本中使用 挂在aa下面的属性和方法就是全局的
打开Global/Base.ts Audio.ts 和 Palette.ts同理可以类比全局的音频模块和全局的自定义组件
Q为什么属性和方法可以扩展到全局 AglobalThis是全局对象aa挂在globalThis下面就成为全局对象 aa的属性和方法就可以通过aa来访问类似2.x的cc
Q为什么要declare global并将aa声明成module Adeclare global的作用是告诉tsglobalThis里有哪些属性和方法 aa只是一个对象但declare global里将aa伪装成module这样ts里可以把aa当module用
Q为什么要用globalThis而不是window A↓↓↓deepseek的答案↓↓↓ Q为什么要用aa是否可以换别的名字 A可以换任意名字也可以声明任意数量的全局module 但个人喜欢极简就像2.x的cc一个足够了
Q跟全局单例比全局module的优势 A1、挂在全局单例下的enum、类无法作为类型声明这样会失去类型提示 例如let pal: aa.Palette labelNode.addComponent(aa.Palette); 如果aa只是个单例那么aa.Palette无法作为pal的类型声明 2、全局单例的属性和方法必须写在一个文件中想在其他文件中扩展很困难 全局module可以在任意文件中扩展并在任意文件中访问里面的所有内容 3、全局单例需要导入而全局module不需要甚至不需要编写.d.ts文件 如果全局组件脚本放在远程bundle中import会有异常但是全局module无需import就不存在这个隐患
综上全局module是最优解 Gitee地址https://gitee.com/szrpf
EMail地址27185709qq.com
推荐链接 1、CocosCreator3.x框架——带翻页特效的场景切换
2、CocosCreator3.x实战案例——100行代码的追踪导弹Demo
3、CocosCreator3.x框架——多分辨率屏幕适配、横竖屏翻转
3、CocosCreator3.x框架——音频声音模块无需导入、无需常驻节点
4、2D图片实现3D透视效果支持3.x、支持原生、可合批
5、CocosCreator3.x图片和文字渐变色支持3.x、支持原生、可合批
6、CocosCreator3.x——拖尾支持3.x、支持原生、可合批、高性能