创建脚本

    • 资源管理器 面板空白位置或某个文件夹资源下右击菜单,选择 Create > TypeScript > NewComponent

    在创建脚本时,名称不能为空,输入框默认为 。我们将其修改为 say-hello,可以看到在 资源管理器 中生成了一个名为 say-hello 的脚本文件。

    say-hello-1

    新建后的初始脚本代码如下:

    在获得初始文件名数据后,会生成两种规则的类名 ClassName,并以变量的方式提供给脚本模板

    • 下划线格式,变量名为 <%UnderscoreCaseClassName%>。这种格式是为了保持类名尽可能地与文件名一致,保持一致的好处是有利于代码全局搜索和替换。
    • 驼峰格式,变量名为 <%CamelCaseClassName%>。这种格式是为了保持与主流的脚本标准一致,首字母大写的驼峰格式。

    将脚本添加到场景节点中,实际上就是为这个节点添加一个脚本组件。层级管理器 选中某个节点,此时 属性检查器 面板会显示该节点的属性。以下两种添加方式:

    • 直接将 资源管理器 中的脚本拖拽当前节点的到 属性检查器 中,即为挂载了一个组件。

    • 点击 属性检查器 最下方的 添加组件 按钮,选择 自定义脚本 -> say_hello,即为挂载组件。

    开发者可根据自己的需求,选择自己喜爱的代码编辑软件(如:Vim、Sublime Text、Web Storm、VSCode 等)进行脚本编辑。编辑器的 偏好设置 > 外部程序 可设置指定的脚本打开工具。

    preference script editor

    外部程序配置完成后,在 资源管理器 中双击脚本资源,便会用指定的程序打开该脚本。 编辑脚本代码保存后,鼠标点击回到编辑器,编辑器会自动检测到脚本的改动,重新对其进行编译后使用。

    编写脚本代码,可阅读以下文档了解相关内容:

    脚本文件创建成功后,再对文件进行重命名,或者对代码里的类名进行修改,文件名和类名均不会再互相影响。

    • 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

    custom script file

    模板内容修改为:

    那么最后的我们新建一个 wake up 脚本资源看看,效果如下图:

    custom script result