资源"/>
cocosCreator 之 通过cc.d.ts了解Assets资源
版本: v3.4.0
简介
cocosCreator项目资源相关需要放置在assets目录中,该目录下会包含图片,音效,字体,特效,脚本,配置文件等。
放置在assets目录下的资源,才会在编译器的资源管理器中会显示出来, 本文通过引擎提供的cc.d.ts
对一些类进行汇总下,主要目的:
- 了解下资源文件的构造
- 了解下assets目录的资源文件处理
- 了解下cocosCreator 引擎
内容概括:
- 基础相关 主要是场景、预制体、Buffer、Effect等
- 字体相关 主要是是ttf、bitmapFont、Label等字体
- 图片和纹理相关 主要是图集、图像、贴图资源等
- 动画和音视频相关 主要是粒子动画、动画、音效、视频等
- 脚本相关 主要是脚本、文本、JSON等文件资源
- 骨骼相关 主要是骨骼资源、骨骼数据、骨骼纹理数据等
- 地图相关 主要是地图资源、地形资源、网格资源等
- 节点相关 主要是节点的继承结构和2D组件的继承结构
- 2D渲染组件 文本、精灵、图形、遮罩等
- UI组件 按钮、输入框、进度条、复选框等
- 数据相关 比如Vec2、Vec3、Size、Rect等
Asset
Asset
作为cocosCreator的资源基类,可理解为对资源管理器下的不同资源数据格式的封装。
它的继承结构:
// cocos_core_assets_asset_Asset_base 表示Asset类是一个自定义的资源类
export class Asset extends __private.cocos_core_assets_asset_Asset_base
因资源的种类很多,所以继承于Asset
的也很多,我们会分块显示下:
基础相关
字体相关
图片及纹理相关
动画及音视频相关
而针对于动画相关,官方提供了一个AnimationComponent
的组件管理。
/**
* 动画组件管理一组动画状态,控制它们的播放。
* 为了方便,动画组件还存储了一组动画剪辑。
* 每个剪辑都会独自创建一个关联的动画状态对象。
* 动画组件具有事件特性,它会派发一系列播放状态相关的事件。
*/
export class AnimationComponent extends Animation_base
其主要继承结构:
数据及脚本相关
骨骼相关
地形地图相关
材质相关
节点
在cocosCreator中,页面UI的构建,主要是将Component
组件附加到节点之中,节点的结构是:
页面的UI组件相关,主要有两种: 2D渲染组件 和 UI组件
Renderable2D
它主要用来渲染,作为2D渲染对象的基类Component
所有附加到节点上的组件都继承于它。SkinnedMeshBatchRenderer
蒙皮模型合批组件,用于合并绘制共享同一骨骼资源的所有蒙皮网格
2D渲染组件
对于本身拥有渲染能力的组件被称为2D渲染组件,它们均继承于Renderable2D
, 主要有:
注意:
TiledMap、TiledTile
均继承于Componet
TiledMap
下的TiledLayer才继承于Renderable2D
UI组件
Component
主要被用于附加到节点上,不仅仅是UI组件还有很多其他的组件也继承于Component
。
我们会归纳下:
基础组件
BlockInputEvents
它没有任何API接口,主要用于防透点相关
滚动容器组件
ToggleContainer
是一个不可见的组件,它主要用来修改一组Toggle
的行为。
布局组件
UILayout
相当于一个容器,它自动对它的子节点相关进行排版,不会考虑子节点的缩放和旋转SafeArea
用于适配IphoneX等异形屏幕
音视频及网页组件
VideoPlayer
由于不同平台对于 VideoPlayer 组件的授权、API、控制方式都不同,还没形成统一标准,所以目前只支持 Web、iOS 和 Android 平台WebView
由于不同平台对于 WebView 组件的授权、API、控制方式都不同,还没有形成统一的标准,所以目前只支持 Web、iOS 和 Android 平台
效果组件
LabelOutline
只能用于系统字体描边LabelShadow
只能用于系统字体或 ttf 字体,添加阴影效果UIOpacity
如果是渲染组件,可以通过修改Color的Alpha通道。
物理组件
ConstantForce
在每帧对一个刚体施加持续的力,依赖 RigidBody 组件
地形地图组件
其他组件
UICoordinateTracker
3D 节点坐标转换到 UI 节点坐标组件;主要提供映射后的转换世界坐标以及模拟透视相机远近比SubContextView
可以用来控制微信小游戏平台开放数据域在主域中的视窗的位置MissingScript
包含无法加载的原始组件的临时回退AnimationController
待定组件
数据相关
引擎对二维,三维数据进行了一系列的封装,主要有:
了解这些,有助于在项目开发中更快速的使用接口,提高效率。
最后祝大家学习愉快!
更多推荐
cocosCreator 之 通过cc.d.ts了解Assets资源
发布评论