CocosCreator 随笔记录

本文介绍了CocosCreator3.8.0中关于源码路径设置、如何在VSCode中排除干扰文件,以及如何修改默认脚本并实现互斥下拉框(枚举类型)的使用方法,为开发者提供实用的开发指南。

这将会是一个逐步更新的内容,用于记录各种想法。

1、3.x源码路径

XXX\Creator\3.8.0\resources\resources\3d\engine\cocos

2、VSCode排除干扰文件

如图:

3、修改默认脚本内容(3.x版本) 

如图:

4、互斥下拉框

通常是枚举类型:相关代码如下

enum Direction {
    NONE = 0,           //无
    HORIZONTAL = 1,     //水平
    VERTICAL = 2,       //竖直
    GRID = 3,           //网格
}

@property({type:Enum(Direction),tooltip:"方向"})
dir:Direction = Direction.NONE;

效果如图:

5、UI节点排序

(1)、setSiblingIndex修改同一父节点下对象的渲染层级,注:传入的参数如果大于 children 数组的长度,则会设置到数组最后

(2)、场景里必须有一个相机要执行 Solid_Color 清屏操作

  • 只有一个UI Canvas 或者 3D Camera,ClearFlag 设置为Solid_Color
  • 场景中包含 2D 背景层、3D 场景层、 2D UI 层,则
    • 3D 场景渲染的摄像机,确保第一个渲染的摄像机是 SOLID_COLOR(如有配置天空盒,则设置为 SKYBOX )
    • 用于 UI 渲染(Canvas下面)的摄像机,要用 DEPTH ONLY
    • 如果某个摄像机的设置了targetTexture,请设置为 SOLID_COLOR

6、图像资源

精灵帧资源(SpriteFrame )适用于UI;
立方体资源(TextureCube)应用于天空盒

制作序列帧动画,使用texturePacker工具打包图集时,Sprites分类下的Trim mode 需选择Trim,不能选择Crop,flush position,否则透明像素剪裁信息会丢失,您在使用图集里的资源时也就无法获得原始图片未剪裁的尺寸和偏移信息了。

7、内置界面

以下是一些打开内置界面的方法:

  • 颜色界面:@property(Color) color:Color;
  • 曲线界面:@property(RealCurve) realCurve:RealCurve = new RealCurve();
  • 渐变色界面:@property(Gradient) gradient = new Gradient();

8、executionOrder设置组件运行的优先级,数值越小越先执行

9、macro.ENABLE_MULTI_TOUCH = false;  多点触摸开关;

pauseSystemEvents()  暂停当前节点上的所有系统事件

resumeSystemEvents();恢复当前节点上的所有系统事件

8、事件穿透

如需允许点击穿透到下一层,则需同时实现以下方法:

    this.get("tLayerZz").on(NodeEventType.TOUCH_START, (e: EventTouch) => { e.preventSwallow = true; }, this, true);
    this.get("tLayerZz").on(NodeEventType.TOUCH_MOVE, (e: EventTouch) => { e.preventSwallow = true; }, this, true);
    this.get("tLayerZz").on(NodeEventType.TOUCH_END, (e: EventTouch) => { e.preventSwallow = true; }, this, true);

如图:

如图:

### Vue 3 和 Vite 实现分包优化性能配置指南 在现代前端开发中,分包是一种有效的技术手段,用于减少初始加载时间并提高 Web 应用程序的整体性能。以下是基于 Vue 3 和 Vite 的分包优化策略。 #### 1. 使用 Rollup 插件实现动态导入 Vite 基于 Rollup 构建,因此可以利用其插件生态来实现按需加载和分包功能。通过 `import()` 动态语法,开发者能够将大文件拆分为多个小模块,在需要时才加载这些模块。这种方式显著减少了首屏渲染的时间[^1]。 ```javascript // 示例代码:组件懒加载 const MyComponent = () => import('./MyComponent.vue'); export default { components: { MyComponent } }; ``` #### 2. 配置 Vite 的 code-splitting 功能 Vite 自动支持 Code Splitting 技术,无需额外安装任何依赖即可启用此特性。只需确保项目中的路由或组件采用了异步引入的方式,则会自动生成对应的 chunk 文件[^4]。 ```javascript // vite.config.js 中开启 rollupOptions 进一步定制打包行为 import { defineConfig } from 'vite'; export default defineConfig({ build: { rollupOptions: { output: { manualChunks(id) { if (id.includes('node_modules')) { return id.toString().split('node_modules/')[1].split('/')[0]; } }, }, }, }, }); ``` #### 3. 结合 Uni-app 路由机制完成页面级分包 如果目标平台涉及多端适配(H5、小程序等),可参考 Uni-app 提供的 pages.json 配置方案来进行更细粒度的控制。例如设置独立入口文件或者指定某些特定路径下的资源作为子包处理[^3]。 ```json { "pages": [ { "path": "index", "style": {} } ], "subPackages": [{ "root": "packageA", // 子包根目录 "pages": [{...}] }] } ``` #### 4. 替换旧版响应式系统带来的优势 相较于 Vue 2 使用 Object.defineProperty 方法监听对象属性的变化,Vue 3 引入 Proxy 对象重构整个观察者模式,不仅解决了深嵌套结构难以追踪的问题,还极大提升了运行效率[^2]。这间接促进了大型应用分割后的流畅体验感。 --- ####
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值