注册 | 登录 | QQ登陆 |

Cocos Creator 3.6 材质升级指南

时间:2024-08-15人气:-


创建脚本 创建组件脚本

在 Cocos 中,脚本也是资源的一部分。在 资源管理器 中创建的脚本,默认是一个 组件,我们称之为组件脚本。可通过以下两种方式创建:

create script

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

say-hello-1

say-hello-2

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

ts

import { _decorator, Component, Node } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('say_hello')
export class say_hello extends Component {
    start() {

    }

    update(deltaTime: number) {
        
    }
}

注意点:

项目中所有脚本的类名 (如上例中的 '') 不允许重复,即使脚本文件在不同的目录下,各自的代码里也不允许有相同的类名。

脚本文件名称和脚本的类名不同,在输入初始的文件名之后,文件名会被处理为类名,处理的逻辑详见下文 类名的生成。脚本文件生成后,对文件的后续操作脚本重命名,新的文件名不会再去生成并替换代码里的类名,不再影响了。

我们推荐用户使用 来编写脚本,目前 资源管理器 中仅支持创建 文件。但如果用户想要使用 来编写脚本的话,可以直接在操作系统的文件夹中创建 文件,或在其他代码编辑软件中创建 文件。

类名的生成

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

添加脚本到场景节点中

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

编辑脚本

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

preference script editor

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

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

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

重新选中该资源,查看 属性检查器,代码还是显示 class ,不会变动。

重新选中 层级管理器 上刚添加组件的节点 Node,查看 属性检查器,组件名称还是显示 ,不会变动。

脚本精灵_脚本_脚本怎么写

我们继续双击当前的 hello 资源,将类名改为 say,保存后回到编辑器:

ts

import { _decorator, Component, Node } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('say')
export class say extends Component {
    start() {

    }

    update(deltaTime: number) {
        
    }
}

同样的脚本文件名 hello 不会变化。节点 Node 里的组件名称变为 say。

注意:这里需要记得将装饰器 @('') 中的内容也改为 @('say')。

modify script

脚本模板 "">​

从编辑器 v3.3 开始,支持在项目中管理不同的脚本模板。

默认的 脚本模板仍在引擎内置资源目录下 \3d\\\\\ts。 文件代码为:

ts

import { _decorator, Component, Node } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('<%UnderscoreCaseClassName%>')
export class <%UnderscoreCaseClassName%> extends Component {
    start() {

    }

    update(deltaTime: number) {
        
    }
}

/**
 * COMMENTS_GENERATE_IGNORE
 * Use "COMMENTS_GENERATE_IGNORE" tag if you do not want later created scripts to contain these comments.
 * 
 * Predefined Variables
 * You can use predefined variables below to setup your scripting preference. For example, whether to use camel case style.
 * 
 * <%UnderscoreCaseClassName%>, class name in underscore format, like 'new_component'
 * <%CamelCaseClassName%>, class name in camel format, like 'NewComponent'
 * <%Author%>, Who create this file
 * <%DateTime%>, when create this file
 * <%FileBasename%>, creating file name with extension
 * <%FileBasenameNoExtension%>, creating file name without extension
 * <%URL%>, url of this file in COCOS ASSET URL format
 * <%ManualUrl%>, url of office help document, like 'https://docs.cocos.com/creator/manual/en/'
 *
 * 
 * Example:
 * 
  @ccclass('<%UnderscoreCaseClassName%>')
  export class <%UnderscoreCaseClassName%> extends Component {
  
    // class member could be defined like this.
    dummy = '';

    // Use 'property' decorator if your want the member to be serializable.
    @property
    serializableDummy = 0;

    start () {
        // Your initialization goes here.
    }

    update (deltaTime: number) {
        // Your update function goes here.
    }

  }
 *
 * Learn more about scripting: <%ManualUrl%>scripting/
 * Learn more about CCClass: <%ManualUrl%>scripting/decorator.html
 * Learn more about life-cycle callbacks: <%ManualUrl%>scripting/life-cycle-callbacks.html
 */

注意:

脚本模板中大量的注释并不会生成到脚本文件中,因为在注释里我们使用了关键词标注 NORE 只要此关键词在某段注释里,那么生成脚本文件就会将该段注释忽略掉。

我们准备了一些预制的变量,在生成脚本文件的时候可以作为辅助的信息,比如作者 。

特别准备了两种类名格式: 和 。名称前后仍可以添加自定义的前缀或后缀,如加个 Robot 前缀 Robot。

通过点击右击菜单的方式,项目自定义脚本模板目录下会自动生成一个文档网址快捷链接,双击即会调出浏览器打开指定网页: Help 。

custom script help

添加脚本模板

我们从复制上述内置 模板的代码进行修改,类名为驼峰格式,加 Robot 前缀,文件另存为无后缀名的文件 ,保存在项目自定义脚本模板的路径下,即 ./asset-//。

custom script file

模板内容修改为:

ts

import { _decorator, Component, Node } from 'cc';
const { ccclass, property } = _decorator;

/**
 * 
 * <%UnderscoreCaseClassName%>
 * <%CamelCaseClassName%>
 * <%Author%>
 * <%DateTime%>
 * <%FileBasename%>
 * <%FileBasenameNoExtension%>
 * <%URL%>
 * <%ManualUrl%>
 *
 */

@ccclass('Robot<%CamelCaseClassName%>')
export class Robot<%CamelCaseClassName%> extends Component {
    start() {

    }

    update(deltaTime: number) {
        
    }
}

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

custom script menu

custom script result

特别声明:以上内容(如有图片或视频亦包括在内)为本平台用户上传并发布,本平台仅提供信息存储服务。


上篇:全网 最强 稳定 奔放

下篇:网站SEO优化教程,中小企业官网与大型网站的SEO策略对比

最新更新