cocosCreator 之 通过cc.d.ts了解Assets资源

编程入门 行业动态 更新时间:2024-10-11 11:13:32

cocosCreator 之 通过cc.d.ts了解Assets<a href=https://www.elefans.com/category/jswz/34/1770980.html style=资源"/>

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的也很多,我们会分块显示下:

基础相关

场景 预制体 Buffer Effect Asset SceneAsset Prefab BufferAsset EffectAsset

字体相关

字体 ttf资源资源 位图资源 艺术字资源 Asset Font TTFFont BitmapFont LabelAtlas

图片及纹理相关

图像资源 精灵图集资源 精灵帧资源 贴图资源基类 简单贴图基类 二维贴图资源 Asset ImageAsset SpriteAtlas SpriteFrame cocos_core_assets_texture_base_TextureBase cocos_core_assets_simple_texture_SimpleTexture Texture2D

动画及音视频相关

Particle 动画 音效资源 视频资源 Asset ParticleAsset AnimationClip AudioClip VideoClip

而针对于动画相关,官方提供了一个AnimationComponent的组件管理。

/**
* 动画组件管理一组动画状态,控制它们的播放。
* 为了方便,动画组件还存储了一组动画剪辑。
* 每个剪辑都会独自创建一个关联的动画状态对象。
* 动画组件具有事件特性,它会派发一系列播放状态相关的事件。
*/
export class AnimationComponent extends Animation_base

其主要继承结构:

骨骼动画 AnimationComponent Animation_base cocos_core_event_eventify_IEventified SkeletalAnimation

数据及脚本相关

脚本资源 文本资源 JSON资源 Asset Script JavaScript TypeScript TextAsset JsonAsset

骨骼相关

骨骼资源 骨骼数据 骨骼数据 骨骼纹理数据 Asset Skeleton SkeletonData DragonBonesAsset DragonBonesAtlasAsset

地形地图相关

地图资源 网格资源 基础图形 地形资源 Asset TiledMapAsset Mesh Primitive TerrainAsset

材质相关

材质资源 材质实例 物理材质 Asset Material MaterialInstance PhysicsMaterial

节点

在cocosCreator中,页面UI的构建,主要是将Component组件附加到节点之中,节点的结构是:

Node BaseNode CCObject PrivateNode ImageExtendedNode

页面的UI组件相关,主要有两种: 2D渲染组件UI组件

网格渲染器 蒙皮网格渲染器 蒙皮网格渲染器 Renderable2D Component CCObject RenderableComponent MeshRenderer SkinnedMeshRenderer SkinnedMeshBatchRenderer RenderRoot2D Canvas Node BaseNode
  • Renderable2D 它主要用来渲染,作为2D渲染对象的基类
  • Component 所有附加到节点上的组件都继承于它。
  • SkinnedMeshBatchRenderer 蒙皮模型合批组件,用于合并绘制共享同一骨骼资源的所有蒙皮网格

2D渲染组件

对于本身拥有渲染能力的组件被称为2D渲染组件,它们均继承于Renderable2D, 主要有:

精灵 文本 图形 富文本 遮罩 静态合批 Renderable2D Sprite Label Graphics RichText Mask UIStaticBatch spine动画 DragonBone动画 拖尾轨迹 粒子 地图 地图块 地图渲染 Renderable2D Skeleton ArmatureDisplay MotionStreak ParticleSystem2D TiledMap Component TiledTile RenderableComponent TiledLayer

注意:

  • TiledMap、TiledTile均继承于Componet
  • TiledMap下的TiledLayer才继承于Renderable2D

UI组件

Component主要被用于附加到节点上,不仅仅是UI组件还有很多其他的组件也继承于Component

我们会归纳下:

基础组件

按钮 CheckBox 输入框 滑动器 进度条 相机 防透点 Component Button Toggle EditBox Slider ProgressBar Camera BlockInputEvents
  • BlockInputEvents 它没有任何API接口,主要用于防透点相关

滚动容器组件

滚动条 滚动视图 页面视图 Toggle容器 页面视图每页标记 Component ScrollBar ViewGroup ScrollView PageView ToggleContainer PageViewIndicator
  • ToggleContainer是一个不可见的组件,它主要用来修改一组Toggle的行为。

布局组件

UI变换 UI布局 UI适配 异形适配 Component UITransform Layout Widget SafeArea
  • UILayout 相当于一个容器,它自动对它的子节点相关进行排版,不会考虑子节点的缩放和旋转
  • SafeArea 用于适配IphoneX等异形屏幕

音视频及网页组件

音频 视频 网页 Component AudioSource VideoPlayer WebView
  • VideoPlayer 由于不同平台对于 VideoPlayer 组件的授权、API、控制方式都不同,还没形成统一标准,所以目前只支持 Web、iOS 和 Android 平台
  • WebView 由于不同平台对于 WebView 组件的授权、API、控制方式都不同,还没有形成统一的标准,所以目前只支持 Web、iOS 和 Android 平台

效果组件

描边 阴影 光源强度 透明度 Component LabelOutline LabelShadow Light UIOpacity SpotLight SphereLight DirectionalLight
  • LabelOutline 只能用于系统字体描边
  • LabelShadow 只能用于系统字体或 ttf 字体,添加阴影效果
  • UIOpacity 如果是渲染组件,可以通过修改Color的Alpha通道。

物理组件

2D刚体 Component RigidBody2D RigidBody Joint2D ConstantForce
  • ConstantForce 在每帧对一个刚体施加持续的力,依赖 RigidBody 组件

地形地图组件

地形 TMX地图 TMX地图块 Component Terrain TiledMap TiledTile TiledObjectGroup TiledUserNodeData

其他组件

坐标转换 微信 Miss Component UICoordinateTracker SubContextView MissingScript
  • UICoordinateTracker 3D 节点坐标转换到 UI 节点坐标组件;主要提供映射后的转换世界坐标以及模拟透视相机远近比
  • SubContextView 可以用来控制微信小游戏平台开放数据域在主域中的视窗的位置
  • MissingScript 包含无法加载的原始组件的临时回退
  • AnimationController

待定组件

Component Line AnimationController Billboard

数据相关

引擎对二维,三维数据进行了一系列的封装,主要有:

二维向量 三维向量 四维向量 四元数 3X3矩阵 4x4矩阵 二维尺寸 矩形 RGBA Vec2 ValueType Vec3 Vec4 Quat Mat3 Mat4 Size Rect Color MathBase

了解这些,有助于在项目开发中更快速的使用接口,提高效率。
最后祝大家学习愉快!

更多推荐

cocosCreator 之 通过cc.d.ts了解Assets资源

本文发布于:2024-03-06 19:48:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1716222.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:资源   cc   cocosCreator   Assets   ts

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!