当前位置: 首页 > news >正文

企业网站优化分为资源网站免费的

企业网站优化分为,资源网站免费的,长沙网页设计师招聘信息,新媒体营销策略有哪些一、什么是装饰器#xff1f; 装饰器是TypeScript脚本语言中的概念。 TypeScript的解释#xff1a;在一些场景下#xff0c;我们需要额外的特性来支持标注或修改类及其成员。装饰器#xff08;Decorators#xff09;为我们在类的声明及成员上通过元编程语法添加标注提供了… 一、什么是装饰器 装饰器是TypeScript脚本语言中的概念。 TypeScript的解释在一些场景下我们需要额外的特性来支持标注或修改类及其成员。装饰器Decorators为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式。 在TypeScript中装饰器分为类装饰器、属性装饰器、方法装饰器、方法参数装饰器。 由此可知 装饰器的作用标注或修改类及其成员装饰器作用的目标类及其成员类方法 访问符属性或参数 大家都知道从Cocos Creator3.x 开始开发语言主要是TypeScript那么装饰器也是需要必须理解的。 二、CocosCreator 的装饰器 在理解CocosCreator 的装饰器之前我们需要先了解几个知识点CocosCreator序列化、Cocos Creator 的脚本编译时机 、CocosCreator装饰器执行时机。 CocosCreator序列化 编辑器中设置好了属性会被保存到资源文件中在使用的时候自动还原成设置好的属性。这就是CocosCreator的序列化。 脚本编译时机 在前面介绍vs code 脚本编辑工具的时候我们也有介绍到 脚本编译的时机修改项目脚本后重新返回 Cocos Creator 会自动的触发脚本编译。然后我们也配置了 VS Code 编译任务 配置完成后在VS Code 中按下快捷键 Ctrl Shift B 便会自动显示 CocosCreator compile执行即可编译。 感兴趣的朋友请前往查看CocosCreator3.8研究笔记二windows环境 VS Code 编辑器的配置。 装饰器执行时机装饰器对类行为的改变是代码编译时发生的而不是在运行时。也就是说装饰器的本质就是编译时执行的函数。 1、CC 类 1、什么是cc类 将ccclass 关键词做为注解添加在类上时这个类被称为CC类。 语法如下 ccclass(name) 如图PlayerControl 为cc类 2、CC 类的作用 CC 类注入了控制cocos creator 对该类对象的序列化、编辑器对此类对象的显示。 3、CC 类注意事项 CC类的名称是唯一的 不能以 cc.、internal. 作为前缀这是 Cocos Creator 的保留类名前缀 没声明 ccclass 的组件类无法作为组件添加到节点上 当CC类是组件时Node 可以通过组件类的CC类名查找到该组件 2、组件类装饰器 组件类装饰器只能用来修饰 Component 的子类。 (1)、executeInEditMode 正常情况下所有组件只会在运行时执行 在编辑器模式下并不会触发executeInEditMode 默认值为 false。 如果需要在编辑器模式下就执行我们可以将executeInEditMode 设置为’true’表示允许在编辑器模式下运行。 如下代码 const { ccclass, executeInEditMode } _decorator; ccclass(Example) executeInEditMode(true) export class Example extends Component {update (dt: number) {// 在编辑器下每帧执行} }(2)、requireComponent requireComponent 参数用来指定当前组件的依赖组件默认值为 null。 当组件添加到节点上时如果依赖的组件不存在引擎会自动将依赖组件添加到同一个节点防止脚本出错。 const { ccclass, requireComponent } _decorator;ccclass(Example) requireComponent(Sprite) export class Example extends Component { }(3)、executionOrder executionOrder 用来指定脚本生命周期回调的执行优先级。 该优先级设定只对 onLoad、onEnable、start、update 和 lateUpdate 有效对 onDisable 和 onDestroy 无效。 对于同一节点上的不同组件数值小的先执行数值相同的按组件添加先后顺序执行对于不同节点上的同一组件按节点树排列决定执行的先后顺序。 const { ccclass, executionOrder } _decorator;ccclass(Example) executionOrder(3) export class Example extends Component { }(4)、disallowMultiple 同一节点上只允许添加一个同类型含子类的组件防止逻辑发生冲突默认值为 false。 const { ccclass, disallowMultiple } _decorator;ccclass(Example) disallowMultiple(true) export class Example extends Component { }(5)、menu menu(path) 用来将当前组件添加到组件菜单中。 该菜单是添加在 属性检查器 面板中按下添加组件按钮后的下拉框内。 const { ccclass, menu } _decorator;ccclass(Example) menu(foo/bar) export class Example extends Component { }(6)、help 指定当前组件的帮助文档的 URL。 设置完成后在 属性检查器 中就会出现一个帮助图标点击即可打开帮助文档的 URL。 const { ccclass, help } _decorator; ccclass(Example) help(https://docs.cocos.com/creator/3.8/manual/zh/scripting/decorator.html) export class Example extends Component { }3、属性装饰器property 属性装饰器用于控制 Cocos Creator 编辑器中对该属性的序列化、属性检查器 中对该属性的展示等。 属性装饰器 property 可以被应用在 cc 类的属性或访问器上。 (1)、属性编辑器常见属性类型 基础属性CCInteger、CCFloat、CCBoolean、CCString cc 类型 数组类型[CCInteger]、[Node] 当使用基础属性类型或者 cc 类作为数组元素时将分别以整数数组和节点数组的形式在 属性检查器 中展示。 若值的类型是 JavaScript 原始类型 number、string、boolean则其类型分别对应 Creator 的CCFloat、CCString 和 CCBoolean 语法如下 property({ type:Node,visible:true})property({type:CCInteger,visible:true}) n:number5;property({ type:[Node],visible:true}) 下图是脚本文件 PlayerControl.ts 与Creator 编辑器属性检查器中属性展示 Cocos Creator额外提供几种装饰器可以快速声明 cc 类型。 装饰器对应的 property 写法type(t)property(t)integerproperty(CCInteger)floatproperty(CCFloat) 以下声明可以替代 property 的写法 integer // 声明属性的 cc 类型为整数 index 0;type([Node]) // 声明属性 children 的 cc 类型为 Node 数组 children: Node[] [];type(String) // 警告不应该使用构造函数 String。等价于 CCString。也可以选择不声明类型 text ;(2)、属性检查器中属性的可见性 需要注意的是不是所有定义的属性装饰器都是可见的在以下两种情况是不会显示在属性检查器 属性名是否以 _ 开头 会识别为 private 属性private 属性不会在编辑器组件属性面板上显示。visible属性值为false (3)、序列化serializable 属性默认情况下都会被序列化序列化后就会将编辑器中设置好的属性值保存到场景等资源文件中之后在加载场景时就会自动还原成设置好的属性值。如果不想序列化可以设置 serializable: false。 property({ serializable: false }) num 0;(4)、override 所有属性都会被子类继承如果子类要覆盖父类同名属性需要显式设置 override 参数否则会有重名警告 property({ tooltip: my id, override: true }) id ;(5)、group 当脚本中定义的属性过多且杂时可通过 group 对属性进行分组、排序方便管理。 同时还支持对组内属性进行分类。 group 写法包括以下两种 property({ group: { name } })property({ group: { id, name, displayOrder, style } })参数说明id分组 IDstring 类型是属性分组组号的唯一标识默认为 default。name组内属性分类的名称string 类型。displayOrder对分组进行排序number 类型数字越小排序越靠前。默认为 Infinity表示排在最后面。 若存在多个未设置的分组则以在脚本中声明的先后顺序进行排序。style分组样式目前支持 tab 和 section 样式。 默认为 tab。 (6)、get/set 使用 property _num:number1; set num(val){this._numval; } get num(){return this._num; }(7)、Cocos Creator 常用内置属性 Color(颜色) property(Color)color:ColorGradient (渐变) property(Gradient)gradient new Gradient();GradientRange (渐变色范围) 通过颜色、渐变色、双颜色或双渐变色控制颜色 property(GradientRange)gradientRange:GradientRange new GradientRange();
http://www.w-s-a.com/news/345033/

相关文章:

  • 常德市网站建设网站开发用哪个软件好
  • 网站文章怎么更新时间重庆勘察设计网
  • 外卖网站设计企业网站优化做法
  • 专业的营销型网站制作wordpress版权年份
  • 程序员会搭建非法网站吗怎么把wordpress字去掉
  • 牡丹江营商环境建设监督局网站中国档案网站建设的特点
  • 网站欣赏网站欣赏知名企业网站搭建
  • 书店网站建设可行性分析为大型企业设计网络营销方案
  • 北京教育云平台网站建设中国服装设计网站
  • 网络公司专业做网站豌豆荚app下载
  • 网站建设属于什么岗位济宁网站建设_云科网络
  • wordpress网站监测fwa 网站 欣赏
  • 用jsp做的可运行的网站推广网络
  • 电商网站设计论文wordpress子文件夹建站
  • 临沂网站优化如何如何做公司的网站建设
  • 建设部网站 光纤到户沈阳网页设计兼职
  • 企业网站建设作用宁波企业网站推广效果好
  • wordpress课件站模板做网站的公司 贵阳
  • 低价格网站建设网站建设中的板块名称
  • 青岛网站建设华夏h5链接是什么意思
  • 贸易公司如何做网站百度做的网站一般在什么后台
  • 东莞网站设计方案广州做服装电商拿货的网站
  • 部队网站建设设计dede个人网站模板
  • 个人网站怎么自己备案重庆怎样网站推广
  • 做电影网站挣钱吗重庆网站建设技术托管
  • 网站建设用户登录网站商业授权含义
  • 接做室内效果图的网站wordpress制作上传图片
  • 维护一个网站一年多少钱网站微信登录怎么做的
  • 中国建设银行网站E路护航官网如何在招聘网站上选个好公司做销售
  • 网站开发质量管理招聘网站建设方案