cocos2d-x
文章平均质量分 69
该栏主要是展示博主日常关于Cocos2d-x的所学知识以及见解,仅供参考。
ufgnix0802
这个作者很懒,什么都没留下…
展开
-
基于Cocos2d-x开发guardCarrot--9 《保卫萝卜2》关卡选择场景开发(关卡之间的连线开发和关卡按钮特效节点开发)
《保卫萝卜2》关卡选择场景开发-关卡之间的连线开发和关卡按钮特效节点开发 我们已经实现完《保卫萝卜2》关卡选择页面的关卡按钮开发(链接:https://blog.csdn.net/qq135595696/article/details/123440948),接下来我们实现关卡选择页面的场景开发。同样,在开发之前,我们先看一下完成后的效果图,如下如所示。关卡之间的连线开发 《保卫萝卜2》在完成某一个关卡之后,会有一条”走过的路“,这个功能的实现代码比较简单,具体如下://level表示关卡voi原创 2022-03-14 08:52:30 · 4290 阅读 · 0 评论 -
基于Cocos2d-x开发guardCarrot--8 《保卫萝卜2》关卡选择场景开发
《保卫萝卜2》关卡选择场景开发 我们已经实现完《保卫萝卜2》关卡选择页面开发(链接:https://blog.csdn.net/qq135595696/article/details/123057202),接下来我们实现关卡选择页面的场景开发。同样,在开发之前,我们先看一下完成后的效果图,如下如所示。 对上图分析可得,关卡选择场景有一个背景滚动视图(ScrollView),所有的节点都添加在此视图中,例如上次我们添加进去的14张背景图片,还有本次要开发的关卡连线、关卡选择按钮以及关卡按钮类似涟漪的原创 2022-03-12 11:38:08 · 3984 阅读 · 0 评论 -
cocos2d-x瓦片地图制作详解
瓦片地图制作详解 瓦片地图的原理是把图片中的元素进行单位化,将大图片拆成一张张小图块,然后通过组合拼接的方式,重新拼出整个地图。其流程为:项目定好游戏中瓦片的大小,然后美术绘制瓦片并制作成瓦片图集,再由策划或美术根据项目需求通过瓦片地图编辑器制作出瓦片地图,最后将生成的地图数据文件和瓦片图集交予程序处理即可。 下面分别是美术制作好的瓦片图集,看上去似乎每个瓦片之间没有任何的关系,然而可以通过瓦片地图编辑器将其编辑为另一张有模有样的游戏地图。Tiled Map Editor简介 在开发中,我原创 2022-03-12 11:29:20 · 7098 阅读 · 0 评论 -
基于Cocos2d-x开发guardCarrot--7 《保卫萝卜2》关卡选择页面开发
《保卫萝卜2》关卡选择页面开发 我们已经实现完《保卫萝卜2》主页面上解锁天天向上玩法(链接:https://blog.csdn.net/qq135595696/article/details/123012891),接下来我们实现关卡选择页面的开发。同样,在开发之前,我们先看一下完成后的效果图,如下如所示。 分析《保卫萝卜2》的关卡选择页面,可以明显得到,我们应该把这个场景逻辑上分为两个层,一个是背景层,一个UI层。其中,背景层里是一个滚动视图,滚动整个地图。UI层存放一些简单的按钮和图片等节点。原创 2022-02-21 22:08:38 · 1861 阅读 · 0 评论 -
基于Cocos2d-x开发guardCarrot--6 《保卫萝卜2》解锁天天向上玩法
解锁天天向上玩法 我们已经创建完《保卫萝卜2》主页面上所有音频音效(链接:https://blog.csdn.net/qq135595696/article/details/122980845),接下来我们实现主页面上的天天向上玩法。 实际上,在《保卫萝卜2》主页面中,“天天向上”按钮是锁住的,如下图: 若“天天向上”按钮是“锁住”状态,则点击“天天向上”按钮,会出现如下图所示的对话框。图中所示的功能本质是一个内购,因为内购需要接入第三方SDK,且可选的SDK数量繁多,每个平台的接入也都不一样原创 2022-02-18 23:54:01 · 2303 阅读 · 0 评论 -
基于Cocos2d-x开发guardCarrot--5 《保卫萝卜2》主页面音频
主页面音频 我们已经创建完《保卫萝卜2》主页面上的所有动画(链接:https://blog.csdn.net/qq135595696/article/details/122640221),接下来我们实现主页面音频。 背景音乐的正确播放时机应该是在场景的构造函数中,这样可以起到“人未到声先到”的过渡效果。即我们应该在MainScene的createScene构造函数中播放对应的背景音乐,代码如下:cocos2d::Scene* MainScene::createScene(){ auto mai原创 2022-02-17 12:45:40 · 352 阅读 · 0 评论 -
Cocos2d-xJson数据解析(读取和写入)
Cocos2d-xJson数据解析(读取和写入)资源文件下载链接:点击下载资源中包括cJson库文件以及封装的cJsonFile文件。Json文件格式{ "mainKey1": { "key": "world", "value": "立身不从一步起,如尘里振衣,泥中濯足,如何超尘脱俗?处世不会退一步,如飞蛾投烛,羝羊触藩,如何堂正为人?这需要我们“三省”自己的追求与志向,这需要我们“三省”自己的处事和做人,可是,倘若蚍蜉撼大树的狂妄,蟪蛄不知春秋的无知,即使有再高的志向和理想,也与成功原创 2022-02-17 12:40:28 · 1194 阅读 · 0 评论 -
Cocos2d-x物理引擎概述
Cocos2d-x物理引擎概述 当我们试图做一款复杂的游戏的时候,那游戏需要模拟现实世界的情境,比如模拟两个物体碰撞,模拟物体收到重力等。是否需要使用物理引擎 当你的需求很简单时,就不要使用物理引擎。比如只需要确定两个对象是否有碰撞,结合使用节点对象的update函数和Rect对象的containsPoint(),intersectsRect()方法可能就足够了。例如:void update(float dt){ auto p = touch->getLocation();原创 2022-02-17 12:38:10 · 3069 阅读 · 0 评论 -
Cocos2d-x-使用脚本概述
Cocos2d-x-使用脚本概述脚本组件 脚本组件是用来扩展C++节点对象的一种方式,你可以将脚本组件绑定到节点对象上,然后脚本组件就能收到onEnter,onExit和update事件。 脚本组件支持两种脚本语言JavaScript和Lua,使用的脚本组件应该和绑定脚本的语言类型对应,比如ComponenetJS用来绑定JavaScript脚本,ComponentLua用来绑定Lua脚本。有了脚本组件,你就可以在Cocos2d-x的项目中,很方便的使用脚本进行一些控制。需要注意的是,在一个项目中原创 2022-02-17 12:28:32 · 667 阅读 · 0 评论 -
Cocos2d-x音乐和音效概述
Cocos2d-x音乐和音效概述 你的游戏肯定会需要音乐和音效!Cocos2d-x提供了一个SimpleAudioEngine类支持游戏内的音乐和音效。它可以被用来增加背景音乐,控制游戏音效。 SimpleAuduioEngine是一个共享的单例对象,可以在代码中的任何地方通过很简单的方式获取到。以下是支持的文件格式。 支持的音乐格式:平台支持的常见文件格式备注Androidmp3, mid, ogg, wav可以播放android.media.MediaPlayer原创 2022-02-17 12:27:19 · 2147 阅读 · 0 评论 -
Cocos2d-x事件分发机制概述
Cocos2d-x事件分发机制概述 Cocos2d-x通过事件分发机制响应用户事件,已内置支持常见的事件如触摸事件,键盘事件等。同时提供了创建自定义事件的方法,满足我们在游戏的开发过程中,特殊的事件响应需求。基本元素事件监听器:负责接收事件,并执行预定义的事件处理函数事件分发器:负责发起通知事件对象:记录事件的相关信息监听器五种类型EventListenerTouch- 响应触摸事件EventlistenerKeyboard- 响应键盘事件EventListenerAcceler原创 2022-02-17 12:25:44 · 690 阅读 · 0 评论 -
Cocos2d-x特殊节点对象(瓦片地图、粒子系统、视差滚动)概述
Cocos2d-x特殊节点对象(瓦片地图、粒子系统、视差滚动)概述 除了Label、Sprite这些基本的节点对象外,Cocos2d-x还提供了一些特殊的节点对象,来帮助构造建一些高级功能。 也许你想制作一个基于瓦片地图的游戏,也许你想添加粒子效果,也许你想在游戏中添加一个2D滚动的边栏,别担心,这些特殊的节点对象能帮助你。瓦片地图 在游戏开发过程中,我们会遇到超过屏幕大小的地图,例如在即时战略游戏中,它使得玩家在地图中滚动游戏画面。这些游戏通常会有丰富的背景元素,如果直接使用背景切换的方式,原创 2022-02-17 12:20:26 · 557 阅读 · 0 评论 -
Cocos2d-xUI组件详解
Cocos2d-xUI组件详解标签(Label) Cocos2d-x提供Label对象给用户,可以使用位图字体,TrueType字体,系统字体创建标签。这个单一的类能处理你所有的标签需求。下面介绍使用各种字体,创建标签的方法。BMFont BMFont是一个使用位图字体创建的标签类型,位图字体中的字符由点阵组成。使用这种字体标签性能非常好,但是不适合缩放。由于点阵的原因,缩放会导致失真。标签中的每一个字符都是一个单独的Sprite,也就是说精灵的属性(旋转,缩放,着色等)控制都适用于这里的每个原创 2022-02-09 21:34:11 · 1481 阅读 · 0 评论 -
Cocos2d-win32平台下中文乱码问题解决方案
Cocos2d-win32平台下中文乱码问题解决方案 原因:Windows中文环境采用的是GBK编码,源程序文件默认也是GBK编码。 解决方案:使用配置方式读取中文字。只有在Windows平台下才会出现这种问题,Android和IOS不会出现这个问题。解决方案 引入cJson开源库,通过读取utf-8编码格式的json文件进行显示。资源下载链接:https://audioandvideo.ufgnix0802.cn/resources/cJson.zip效果展示源码如下j原创 2022-02-09 21:21:20 · 4627 阅读 · 0 评论 -
Cocos2d-x层(Layer)详解
Cocos2d-x层(Layer)详解如何创建一个层层的创建方式直接创建一个层Layer* layer = Layer::create();使用Layer代替Scene,达到更高效的目的,减少切换Scene时不必要的卡顿。Layer层的锚点默认是在左下角,UI组件的锚点默认是在正中心。自定义层class MyLayer : public Layer{ public: CREATE_FUNC(MyLayer); virtual bool in原创 2022-02-09 21:16:28 · 1524 阅读 · 0 评论 -
Cocos2d-x场景(Scene)详解
Cocos2d-x场景(Scene)详解 场景(Scene)是一个容器,容纳游戏中的各个元素,如精灵,标签,节点对象。它负责着游戏的运行逻辑,以帧为单位渲染这些内容。 可以想象游戏就像一个电影,场景是观看者能看到的正在发生的情景。一个电影至少需要一个场景,一个游戏也至少需要一个Scene。在使用Cocos2d-x进行游戏的开发中,可以制作任意数量的场景,并在不同场景间轻松切换。场景的创建创建一个简单场景auto scene = Scene::create();运行当前场景Dire原创 2022-02-09 21:13:09 · 1633 阅读 · 0 评论 -
Cocos2d-x动作(Action)详解
Cocos2d-x动作(Action)详解 动作(Action)的功能就和字面含义一样,它通过改变一个Node对象的属性,让它表现出某种动作。动作对象能实时的改变Node的属性,任何一个对象只要它是Node的子类都能被改变。比如,你能通过动作对象把一个精灵从一个位置移动到另外一个位置。 通过MoveTo和MoveBy方法://在两秒内,移动一个精灵到(50,10)的位置auto moveTo = MoveTo::create(2,Vec2(50,10));mySprite1->runAc原创 2022-02-09 21:10:47 · 3474 阅读 · 3 评论 -
基于Cocos2d-x开发guardCarrot--4 《保卫萝卜2》主页面动画
《保卫萝卜2》主页面动画 我们已经创建完《保卫萝卜2》主页面上的所有节点,并且正确摆放好了坐标以及层级(链接:https://blog.csdn.net/qq135595696/article/details/122605883),接下来我们实现主页面动画。 如上图。在《保卫萝卜2》中,1号和5号怪物运行的动作为左右来回运动。2号怪物运行的动作是冲出来之后上下浮动。3号怪、4号和6号怪物也是一直上下浮动,6号怪物的做的是旋转运动,剩下一个萝卜为贝塞尔曲线运动。除了2号怪物的冲出动作和萝卜的运作之外原创 2022-01-22 17:12:12 · 1578 阅读 · 0 评论 -
Cocos2d-x属性变化动作
Cocos2d-x属性变化动作 属性变化动作,即运动动作的过程中会改变节点对应属性的动作,它们大概有如下几种。1.MoveTo和MoveBy Move动作使节点做直线运动,通常用来移动游戏内的角色等,其函数原型如下:static MoveTo* create(float duration, const Vec2& position);static MoveBy* create(float duration, const Vec2& deltaPosition); 其中,参原创 2022-01-22 17:04:59 · 2071 阅读 · 0 评论 -
Cocos2d-x精灵详解
Cocos2d-x精灵详解基本概念 官方解释:精灵(Sprite)是一个能通过改变自身的属性:角度,位置,缩放,颜色等,变成可控制动画的2D图像。 精灵(Sprite)在2D游戏场景中指的就是像素图。游戏中的精灵元素 Cocos2d-x中的Sprite精灵可以被移动,被控制。精灵的创建通过图片创建精灵 可以使用一张图像来创建精灵,PNG,JPEG,TIFF,WebP,这几个格式都可以。 通过图片路径创建精灵。Sprite* sprite = Sprite::create(原创 2022-01-20 17:21:34 · 3245 阅读 · 0 评论 -
基于Cocos2d-x开发guardCarrot--3 《保卫萝卜2》主页面开发(仅使用Cocos2d-x)
《保卫萝卜2》主页面开发(仅使用Cocos2d-x)《保卫萝卜2》资源链接:https://audioandvideo.ufgnix0802.cn/resources/guardCarrotResources.zip视图目标视图源码MainScene.h#pragma once#include "cocos2d.h"#include "ui/CocosGUI.h"class MainScene :public cocos2d::Scene{public: static coco原创 2022-01-20 17:11:36 · 1281 阅读 · 0 评论 -
基于Cocos2d-x开发guardCarrot--2 《保卫萝卜2》主页面开发
《保卫萝卜2》主页面开发《保卫萝卜2》资源链接:https://audioandvideo.ufgnix0802.cn/resources/guardCarrotResources.zip视图目标视图设定 打开CocosStudioV3.10,创建一个项目。 将《保卫萝卜2》的主界面资源放入CocosStudio中。其中,分辨率必须设置为1136*640,因为图片资源的分辨率就是按照这标准设计的。然后图片的锚点一开始都是位于图片的正中心的,所以坐标应设置为(569,320)。原创 2022-01-12 15:36:49 · 1324 阅读 · 0 评论 -
基于Cocos2d-x开发guardCarrot--1 《保卫萝卜》简介
《保卫萝卜》简介 《保卫萝卜》是飞鱼科技于2012年7月推出的一款休闲塔防游戏,发布后迅速飙升至App Store中国区榜首,并被超过120个国家推荐为热门游戏。其续作《保卫萝卜2:基地冒险》于2013年11月正式上线,发布当日仅6小时即登上中国区总榜第一,并持续位居榜首长达21天,是一款老少皆宜的国民级休闲塔防手游。《保卫萝卜》《保卫萝卜2》总下载量已接近两亿,《保卫萝卜3》由腾讯代理发行。 《保卫萝卜2》游戏主页面、关卡选择页面、游戏玩法页面如下图。在制作之前需下载游玩。...原创 2022-01-12 15:31:52 · 1295 阅读 · 0 评论 -
Cocos2d-x中常用的类
Cocos2d-x中常用的类Node节点类什么是游戏元素?游戏中的场景、精灵、文本、地图、菜单、层等任何对象都是节点。Cocos2d-x中用Node类来对应游戏元素的概念,它是Cocos2d-x最为重要的根类。Node的属性节点关系假设有三个精灵,其中两个精灵被添加到了父精灵。如果给父精灵旋转了一个角度,那么子精灵会有什么变化呢?如果节点被添加到一个父节点中,那么父节点的属性变化会被应用到子节点中。对Node的操作创建Node对象auto node = Nod原创 2022-01-11 11:21:05 · 712 阅读 · 0 评论 -
Cocos2d-xV3.17.2获取csb文件按钮组件并绑定事件
Cocos2d-xV3.17.2获取csb文件按钮组件并绑定事件CocosStudio创建控件的时候默认的控件名称在Cocos2d-xV3.17.2中是不起作用的,即获取不到。只有当我们重命名之后使用重新命名的名称获取才生效。总结:每当创建新的控件的时候务必重命名! 接下来我们获取csb文件中的场景的按钮,并对其绑定点击事件。 在HelloWorldScene.cpp中的init()函数定义如下:bool HelloWorld::init(){ if (!Scene::init())原创 2022-01-11 11:09:14 · 897 阅读 · 0 评论 -
修改Cocos2d-xV3.17.2项目模板的编译路径
修改Cocos2d-xV3.17.2项目模板的编译路径以下使用vs2022进行演示,修改编译路径有助于我们管理不必要的中间目录和输出目录相分离,有利于更好的管理项目。$(SolutionDir):解决方案名,即.sln所在路径$(Platform):解决方案平台名称,如x86、x64$(Configuration):当前的编译配置名称,如Release、Debug$(ProjectName):当前工程(项目)名称,如示例中的project1,project2(补充)我们可以在:项目(鼠标右原创 2022-01-09 17:56:40 · 840 阅读 · 0 评论 -
关于CocosStudioV3.10的场景导入Cocos2d-xV3.17.2场景未发生变化的解决方案
关于CocosStudioV3.10的场景导入Cocos2d-xV3.17.2场景未发生变化的解决方案 在我们使用CocosStudioV3.10创建的场景(csb文件)导入Cocos2d-xV3.17.2的项目中并未改变场景,原因是项目索引路径发生了改变,所以导致我们更改原来的索引路径中的csb文件并未修改代码中的索引的场景。 接下来模拟问题场景并提供解决方案。问题场景 使用CocosStudioV3.10创建一个场景(该场景是960*640分辨率的)。 然后发布场景【ctrl+p原创 2022-01-09 17:53:57 · 2007 阅读 · 0 评论 -
使用CocosStudioV3.10场景导入Cocos2d-xV3.17.2
使用CocosStudioV3.10场景导入Cocos2d-xV3.17.2使用CocosStudio创建场景点击发布按钮,将生成的CSD文件发布为CSB文件(默认大小为:960*640)。打开项目所在文件夹,如下:进入项目之后找到Resources文件夹:进入res文件夹:复制MainScene.csb文件至自己创建的Cocos2d-xV3.17.2版本下的proj.win32下的res文件夹下。使用Cocos2d-xV3.17.2运行场景AppDelegate.cpp原创 2022-01-08 22:50:43 · 2323 阅读 · 0 评论 -
Windows平台CocosStudioV3.10安装配置(使用Cocos2d-xV3.17.2进行开发)
Windows平台CocosStudioV3.10安装配置(使用Cocos2d-xV3.17.2进行开发) 由于安装CocosStudioV3.10会将Cocos2d-xV3.10同步安装,但是我们使用Cocos2d-xV3.17.2版本,只需要使用CocosStudio创建场景导出CSB文件即可导入Cocos2d-xV3.17.2中使用。CocosStudioV3.10下载链接如下:https://audioandvideo.ufgnix0802.cn/resources/CocosForWi原创 2022-01-08 22:46:11 · 4337 阅读 · 2 评论 -
Cocos2d-xV3.17.2 win32平台模板源码详注
Cocos2d-x win32平台模板源码详注详注项目链接:https://download.csdn.net/download/qq135595696/74792416main.h/**************************************************************************** Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. //版权所有:厦门雅基软件有限公司 http原创 2022-01-07 22:08:52 · 483 阅读 · 0 评论 -
Cocos2d-x基础概念详情篇
Cocos2d-x基础概念详情篇导演(Director)控制电影制作流程,指导团队完成各项任何 Cocos2d-x使用导演的概念,这个导演和电影制作过程中的导演一样!导演控制电影的制作流程,指导团队完成各项任务。在使用Cocos2d-x开发游戏的过程中,你可以认为自己是执行制片人,告诉**导演(Director)**该怎么办!一个常见的Director任务是控制场景替换和转换。Director是一个共享的单例对象,可以在代码中的任何地方调用。 这是一个典型的游戏流程实例。当您的游戏设计好时,原创 2022-01-07 21:43:21 · 3081 阅读 · 0 评论 -
游戏引擎概念
游戏引擎概念 游戏引擎是一种特殊的软件,它提供游戏开发时需要的常见功能;引擎会提供许多组件,使用这些组件能缩短开发时间,让游戏开发变得更简单;专业引擎通常会比自制引擎表现出更好的性能。游戏引擎通常会包含渲染器,2D/2D图形元素,碰撞检测,物理引擎,声音,控制器支持,动画等部分。 Cocos2d-x就是这样的一个游戏引擎,它提供了许多易于使用的组件,有着更好的性能,还同时支持移动端和桌面端。Cocos2d-x通过封装底层图形接口提供了易用的API,降低了游戏开发的门槛,让使用者可以专注于开发游戏,而原创 2022-01-07 21:35:04 · 517 阅读 · 0 评论 -
Cocos2d-x简介
Cocos2d-x简介发展历程发展史2010年11月Cocos2d-x诞生2013年03月发布Cocos Studio2014年09月推出Cocos品牌2016年03月发布Cocos Creator引擎优势 Cocos2d-x是MIT许可证下发布的一款功能强大的开源游戏引擎。 允许开发人员使用C++、JavaScript及Lua暗中语言来进行游戏开发。 支持所有常见的平台,包括IOS、Android、Windows、Linux。引擎特性现代化的C++API立足于C++原创 2022-01-07 21:34:08 · 2487 阅读 · 0 评论 -
Windows平台安装cocos2d-x V3.17.2
Windows平台安装cocos2d-x V3.17.21.依赖工具python 2.7.18:https://www.python.org/downloads/release/python-2718/cocos 2d-x V3.17.2:https://www.cocos.com/cocos2dxcmake:https://cmake.org/download/Windows 7及以上【下文使用Windows10进行演示】VS 2015及以上【此处不特别叙述安装过程,下文使用vs2019进行原创 2021-12-05 20:29:02 · 4555 阅读 · 0 评论