cocos的一些概念

cocos是web游戏开发上层框架。既然是上层框架,它对开发工作进行了很高层次的抽象、对基础能力进行了完善地封装。极大地提高了游戏开发者的效率。

从用户角度,用户看到的游戏有3个要素:

  • 画面
  • 动画
  • 逻辑

画面包括展示的界面和音效,这是任何游戏必须的基本内容。

有了画面还需要画面动起来,这需要画面中的内容有动画的效果。

如果只有画面和动画,那么和视频效果没什么差别,游戏的逻辑是让游戏能正常运行的必须要素,有了逻辑才能让用户可以控制画面完成游戏。

从开发者角度,cocos进行了如下抽象:

对于计算机来说,任何内容都需要一个载体来表征,以便计算机可以存储和处理它。因此为了实现画面,cocos抽象出来了几个概念

  • 场景
  • 节点
  • 组件

场景,顾名思义,是容纳整个画面和一个游戏场景的概念。

节点,因为一个画面中有很多元素,不同元素展示层级和活动逻辑等都不同,因此需要不同的载体。每个节点是画面中一个元素的载体,计算机通过给这个节点添加属性来控制元素的展示和行为逻辑。节点以树状的形式组织。一个场景容纳了一棵节点树。

组件,组件是用来控制节点的展示和逻辑的,比如给一个节点添加一个渲染组件可以控制这个节点的展示、给一个节点添加一个脚本组件可以控制这个节点的逻辑。

资源,元素的具体的内容用“资源”的概念表示

比如,对于“超级玛丽”,每一关可以认为是一个“场景”;里面的每个元素,“马里奥”、“怪物”、“烟囱”、“蘑菇”、“金币”都是一个节点;对于“马里奥”可以给它添加一个“渲染组件”,展示一个小人的形象,添加一个“脚本”组件,来控制它的行为,让他可以一直向前走、撞到怪物时候挂掉;给“马里奥”添加渲染组件时候,需要制定渲染组件的“sprite frame”属性是指定的资源:小人的图片。

有了场景、节点、组件、资源,就可以完成一个游戏了。但是节点运动其实是一个很复杂的逻辑,比如加速度控制、运动曲线等。cocos封装了动作系统、动画系统、物理与碰撞系统,让开发者可以非常方便地控制游戏中节点的运动。

cocos creator

cocos creator是一个完整的游戏开发解决方案、一个完全为引擎定制打造,包含从设计、开发、预览、调试到发布的整个工作流所需的全功能一体化编辑器。

具体使用可以参考官网,这里记录几个初次使用时候注意到的点

  • 创建节点的方法有两种
    • 通过拖拽资源到层级管理器创建一个节点,这样创建的节点,会给节点自动添加一个组件,组件类型和资源类型有关。这样创建节点时候也决定了节点的类型,节点类型限制了其中可以包含的组件,比如一个Sprite类型的节点只能有一个Sprite的渲染组件。
    • 可以通过点击层级管理器左上的“+”来创建节点,并且可以选择节点的类型
  • 节点上可以包含多个组件
  • 选中节点,然后在属性选择器中点击“添加组件”按钮给节点添加组件
  • 脚本的properties可以设置一些参数,也可以引用资源和节点

工作流程

资源准备->创建场景->创建节点->创建组件