自己毕设的Cocos Creator小介绍

Google开发专家带你学 AI:入门到实战(Keras/Tensorflow)(附源码)



参考部分文章

软件小介绍

Cocos Creator是用于开发和存储Cocos2d-x引擎的且用JavaScript实现以及快速游戏开发所需的各种图形界面和工具的完美游戏开发解决方案。Cocos Creator的编辑器是一个完整的工作流集,已针对引擎进行了完全自定义,包括计划,开发,预览,调试和发布所需的所有功能。提供开发工作流程。分工合作的起来很流畅,Cocos Creator现在支持向Web、Android和IOS交付游戏,允许一次性开发并在所有渠道上工作。Cocos Creator是基于内容创建的游戏开发编辑器,可基于Cocos2d-x实现完全可编写脚本的组件化数据库功能。Cocos Creator在开发阶段为用户提供了非常高的效率和创造力,但是提供的工作流程并不限于开发阶段。对于成功的游戏而言,开发,调试,商业SDK集成,多个平台版本,测试,执行以及一系列在线工作流程都是必不可少的,并且必须一遍又一遍地重复构思调试。
自己毕设的Cocos Creator小介绍
创建或导入资源:将图像和声音拖到资源编辑器的资源管理面板中以完成资源的导入。编辑器中的场景还可以创建各种资源,例如精灵,动画,脚本和粒子。
场景构建:如果有项目的基本资源,则可以开始构建场景。场景是组织游戏内容并向玩家展示游戏基本形状的最基本方法。
添加组件脚本并实现交互功能:各种内置组件,场景组件和脚本可以安装在场景节点上,以与游戏逻辑的行为进行交互。包含最基本的动画播放,按钮响应能力以及整个游戏逻辑的控件,包括基本的循环爬行和玩家角色控件。大多数游戏逻辑功能均已脚本化为场景中的场景节点。
一键预览并释放:单击预览可在开发场景设置和功能时查看当前场景的性能和效果。扫描手机上的二维码,就能手机上快速预览游戏。完成开发后,您可以使用“构建发布”面板单击一次,将游戏发布到多个平台,包括Windows,移动设备,网络等。

Cocos Creator技术特征

中文版的Cocos Creator是一个围绕内容创建的游戏开发工具,作为最新Cocos引擎家族的成员,保持数据兼容性尤其重要:Cocos Studio和Cocos Builder这两个使用添加了一种场景编辑工具的数据。支持使用户可以直接查看CCS配置文件,并且Cocos Creator使用Import来构建CCB文件。引入的资源包括场景(Scene)、图层(Layer)、节点(Node)、照片资源、场景动画、粒子、声音效果等。项目的源代码无法导入,因为脚本系统和项目的源代码(对象和组件系统)之间存在本质区别。Cocos Creator技术的功能主要分为两个功能特征和架构特征。
1.功能特征
Cocos Creator功能的主要特征包括:脚本编辑器使您可以轻松声明可以随时调整的数据属性,从而使设计人员可以独立完成参数调整。UI系统支持与智能画布兼容的元素和可编程元素排序,这些元素与所有分辨率的设备屏幕完全匹配。2D游戏专用动画系统,支持动画轨迹预览和复杂的曲线编辑功能。具有动态语言支持的脚本开发包括JavaScript和Typescript,从而使移动设备的动态调试和远程调试更加容易。可以轻松地基于Cocos2d-x引擎来开发脚本,同时保持轻量级,高性能。脚本编写组件和开放式插件系统为开发人员提供了一种自定义其工作流程到不同深度的方法。并且可以根据团队和项目的需求大规模地调整编辑器。
2.架构特征
Cocos Creator具有游戏开发所需的所有功能,包括游戏引擎,资源管理,场景编辑器,游戏预览,部署以及将所有功能和工具链集成到集成应用程序中。该编辑器提供了强大而完整的工具链,使开发人员可以使用常见的前端技术(例如HTML+JavaScript)轻松扩展编辑器的功能,以自定义其自定义的工作流程。它提供了可以使用的开放式插件体系结构。接下来是Cocos Creator的技术架构。
自己毕设的Cocos Creator小介绍
自己毕设的Cocos Creator小介绍
在图中,发现该编辑器是由Electron开发并与引擎结合使用的开发环境,该引擎环境提供了易于开发且与每个平台互相兼容。引擎和编辑器的组合是用于以数据为中心和组件开发的功能开发方法,是设计和编程之间的完整工作分工,并且协作设计在场景编辑器中以可视方式呈现场景。连接和开发功能组件。设计人员需要查看工作并通过调试将零件放在对象上来改善各种参数。程序员开发游戏所需的各种数据结构,资源设计人员通过图形界面安排数据和资源。(可以实现各种富有想象力的工作流程,范围从简单到复杂)
通过工作流的核心开发概念,具有各种职能的开发人员可以快速找到定位,最大限度地发挥作用,并与其他团队成员快速流畅地进行沟通和协作。如图所示:
自己毕设的Cocos Creator小介绍

物理引擎技术

从1.5版开始,Cocos Creator就支持Box2D物理游戏引擎,Box2D是一款功能强大的开源物理游戏引擎,可以模拟2D刚体运动的碰撞。Box2D集成了大量的物理和运动学计算,以实现对象类的物理仿真过程,并为开发人员提供了一个简单易用的界面来处理操作对象。可以通过从引擎调用该对象和函数,以模拟各种物理运动,例如实际加速度,减速度,抛物线运动,重力和碰撞回弹。物理系统已经将Box2D作为内部物理系统,并且隐匿大部分Box2D实现细节(如刚体创建、刚体信息节点同步等)。
总的来说,Box2D就是一个物理层面的刚体仿真库。物理引擎提供了更完整的接口和预先设置的组件,如刚体、关节。你可以为自己选择一个合适的物理系统。下面先尝试开启物理系统。
步骤1:开启物理引擎
编写一个js组件脚本,并在onload函数里面实现如下代码
properties: { is_debug: false, // 是否显示调试信息;
// 给一个向量作有方向的重力加速度,2D,Vec是重力加速度的大小;
gravity: cc.p(0, -320), }, // 系统默认的
onLoad() {cc.director.getPhysicsManager().enabled = true; //开启物理引擎
if (this.is_debug) { // 开启调试信息
var Bits = cc.PhysicsManager.DrawBits;
cc.director.getPhysicsManager().debugDrawFlags=Bits.e_jointBit | Bits.e_shapeBit;}
else { // 关闭调试信息
cc.director.getPhysicsManager().debugDrawFlags=0;}
// 重力加速度的配置
cc.director.getPhysicsManager().gravity = this.gravity;},
这里强调必须在onLoad函数内编写代码,启动物理引擎,配置调试区域,设置对象的重力,不是start里面。
步骤2:设定游戏世界中的物件类型。
如图所示,根据游戏情况配置游戏对象类型和碰撞矩阵。
自己毕设的Cocos Creator小介绍
自己毕设的Cocos Creator小介绍
步骤3:配置物理物体:
(1)如图所示,在节点上添加刚体部件。
自己毕设的Cocos Creator小介绍
(2)如图所示,在节点上面添加物理形状。
自己毕设的Cocos Creator小介绍
步骤4:碰撞检测:
该节点要检测到碰撞事件,在该节点挂上脚本,并在此脚本中实现三个函数。
onBeginContact(contact,self,other):碰撞开始
onEndContact(contact,self,othe):碰撞结束
… …
contact:获取碰撞对象,self是碰撞时自身的碰撞器组件实例,other是碰撞时别人的碰撞器组件实例,通过碰撞器的组件实例,使之能够获得节点,例如碰撞的节点other.node等。基于此就基本能使用物理引擎了。

使用的语言

Cocos Creator脚本主要是通过扩展组件来开发的。Cocos Creator当前支持两种脚本语言,JavaScript和TypeScript。向创建场景节点提供脚本组件,以驱动场景中的对象。创建组件脚本时,将脚本需要调整的变量映射到属性管理(Properties),与计划协调并声明属性。还可以注册特定的回调函数来初始化节点,更新节点或删除节点。
JavaScript是一种基于对象和事件的客户端脚本语言,相对安全。它是用于客户端Web开发的广泛使用的脚本语言,能够为HTML页面添加了动态功能,以响应不同的用户交互。以前由Netscape的Brendan EICH设计。JavaScript是sun的注册商标。ECMA international已经创建了一个基于JavaScript的ECMAScript标准。您还可以在其他情况下使用JavaScript,例如服务器端编程。完整的JavaScript实现包括三个部分:ECMAScript,文档对象模型和字节顺序表示法。JavaScript具有多种功能。完整的JavaScript由三部分组成,如下所示。
自己毕设的Cocos Creator小介绍
核心(ECMAScript)、文档对象模型(Document Object Model,简称DOM)、浏览器对象不同于PHP和ASP等服务器端脚本语言,JavaScript是一种客户端脚本语言。也就是说,JavaScript在用户的浏览器中运行的。它可以在没有服务器支持的情况下独立运行。因此,早期的程序员喜欢使用JavaScript来减少服务器上的负载,但同时又存在另一个问题,即安全性。服务器功能非常强大,程序员更喜欢使用服务器端脚本来维护安全性,但是JavaScript仍具有平台和可用性方面的优势。
JavaScript是一种脚本语言,因此在将源代码发送给客户端之前不需要对其进行编译,而将文本字符代码发送至浏览器并由浏览器解释。解释语言的弱点在于安全级别低,而且如果无法执行先前的语言,JavaScript将无法执行以下语言。另外,每次重新加载后都会对代码进行重新解释,这会延迟执行某些代码时的解析,并且由于重复解释多次而速度较慢。该语言是Java之类的编译语言。在将Java源代码交付给客户端执行之前,必须对其进行编译,以便客户端可以模拟或编译由解释器所需的特定于平台无关的编译器或解释器绑定的代码。这种代码需要独立于需要解释器的特定平台。但是,服务器编译服务器并花费时间。然而,它已实施且封装,因此很安全。
TypeScript是Microsoft开发的一种免费的开放源代码编程语言。使用可选的静态输入和基于类的面向对象编程的精确JavaScript超集。TypeScript的设计目标是开发一个大型应用程序,将其转换为JavaScript并执行它。现有的JavaScript程序是有效的TypeScript程序,因为TypeScript是JavaScript的超集。
另外,在使用Cocos Creator开发游戏时多数情况下都会重复使用一些固有模式。根据帕雷托法则(也叫二八定律),掌握一门语言的20%就足够你应付80%以上的情况了。