创建脚本
- 资源管理器 面板空白位置或某个文件夹资源下右击菜单,选择 Create > TypeScript > NewComponent。
在创建脚本时,名称不能为空,输入框默认为 。我们将其修改为 say-hello
,可以看到在 资源管理器 中生成了一个名为 say-hello
的脚本文件。
新建后的初始脚本代码如下:
在获得初始文件名数据后,会生成两种规则的类名 ClassName
,并以变量的方式提供给脚本模板。
- 下划线格式,变量名为
<%UnderscoreCaseClassName%>
。这种格式是为了保持类名尽可能地与文件名一致,保持一致的好处是有利于代码全局搜索和替换。 - 驼峰格式,变量名为
<%CamelCaseClassName%>
。这种格式是为了保持与主流的脚本标准一致,首字母大写的驼峰格式。
将脚本添加到场景节点中,实际上就是为这个节点添加一个脚本组件。 在 层级管理器 选中某个节点,此时 属性检查器 面板会显示该节点的属性。以下两种添加方式:
直接将 资源管理器 中的脚本拖拽当前节点的到 属性检查器 中,即为挂载了一个组件。
点击 属性检查器 最下方的 添加组件 按钮,选择 自定义脚本 -> say_hello,即为挂载组件。
开发者可根据自己的需求,选择自己喜爱的代码编辑软件(如:Vim、Sublime Text、Web Storm、VSCode 等)进行脚本编辑。编辑器的 偏好设置 > 外部程序 可设置指定的脚本打开工具。
外部程序配置完成后,在 资源管理器 中双击脚本资源,便会用指定的程序打开该脚本。 编辑脚本代码保存后,鼠标点击回到编辑器,编辑器会自动检测到脚本的改动,重新对其进行编译后使用。
编写脚本代码,可阅读以下文档了解相关内容:
脚本文件创建成功后,再对文件进行重命名,或者对代码里的类名进行修改,文件名和类名均不会再互相影响。
- 以
say-hello
为例,我们在 资源管理器 中将其重命名为hello
。
重新选中该资源,查看 属性检查器,代码还是显示 class say_hello
,不会变动。
重新选中 层级管理器 上刚添加组件的节点 Node,查看 属性检查器,组件名称还是显示 ,不会变动。
我们继续双击当前的 hello
资源,将类名改为 say,保存后回到编辑器:
同样的脚本文件名 hello
不会变化。节点 Node 里的组件名称变为 say。
从编辑器 v3.3 开始,支持在项目中管理不同的脚本模板。
- 新建一个项目,新项目不会自动创建自定义脚本模板所在的目录
.creator/asset-template/typescript
。 可以手动创建上述目录。也可以通过 资源管理器 的右击菜单里的菜单,点击后才生成目录。
默认的 NewComponent
脚本模板仍在引擎内置资源目录下 resources\3d\engine\editor\assets\default_file_content\ts
。 文件代码为:
我们从复制上述内置 NewComponent
模板的代码进行修改,类名为驼峰格式,加 Robot
前缀,文件另存为无后缀名的文件 CustomComponent
,保存在项目自定义脚本模板的路径下,即 .creator/asset-template/typescript/CustomComponent
。
模板内容修改为:
那么最后的我们新建一个 wake up
脚本资源看看,效果如下图: