如何使用Cocos2d-x开发游戏

专栏:Cocos2d-x游戏开发实战 - CSDN博客
> & & > &Cocos2d-x游戏开发实战
本专栏为本人自行开发的游戏《赵云要格斗》、《雷电大战》系列文章,详细讲述了Cocos2d-x游戏开发中的英雄、怪物、智能AI、关卡、界面、地图、血量、碰撞等等和游戏相关的设计和代码编程、思路总结、精华汇总。
共23篇博文
此文接上文Cocos2d-x《雷电大战》(6) 智能敌机AI来袭--飞行路径算法设计与实现(上) ,还是对游戏中的敌机路径进行一个设计和实现。这里笔者又实现了两种敌机路线。分别如下:
(1)敌机朝着英...
本文要实现飞机类游戏中的一连串飞机的跟随出和和并行出出。而网上找了一些Cocos2dx开发的飞行类游戏,都只找到一些简单的智能敌机。基本上没什么AI,这样游戏玩起来就太没意思了。然后又去找敌机飞行路径...
本文将实现用单例模式实现一个英雄飞机类的设计,单例模式是游戏开发中最常用到的一种设计模式,原理也比较简单,仔细研究下就可以掌握好。
本文从设计模式中的策略模式入手,主讲了飞机大战中英雄飞机切换不同的子弹。这里分为三种子弹。第一种:每次发一个子弹,垂直发射;第二种:每次发两个子弹,两个都是垂直发射:第三种;每次发三个子弹,两边的子弹...
本文要实现雷电游戏中,游戏一开始,英雄飞机就无限发射子弹的功能。这里的思想是单独给子弹弄一个层,在这个层不设置一个定时器,每隔一个时间,根据当前英雄飞机传入的位置,生成子弹,并设置子弹的移动事件,和移...
本文要实现飞机射击游戏中的地图无限滚动的功能,这里分为两个层,一个层无限向下滚动,一个层无限向上滚动,这样子结合起来效果就非常有层次感,也非常逼真,这里我把地图层都写成一个类,自己把地图改下,就可以成...
本文要实现飞机游戏中,人的手指按着飞机,就能拖着飞机走动,这里实现了当你手指按在手机的图片上,手指一直按着屏幕,飞机就会跟着你走。同时,还加入了边界判断条件,让飞机在你的视野内移动,实现的效果完全和我...
本指南将介绍如何在Windows 7平台搭建Cocos2d-x Android开发环境。本指南操作要求一台搭载Windows 7平台及安装Visual Studio 的电脑。最好拥有...
笔者自行开发的Cocos2d-x原创游戏《赵云要格斗》这里把全部的代码和资源全部共享,保证全部可以免费下载,笔者之前开发这个游戏的时就说过,此游戏最后一定会开源。游戏其实还没弄完,只是近期好多博友都在...
本文将要解决Cocos2d-x中显示中文时出现乱码的情形,并且实现一个字幕滚动的功能,这个功能是通过遮罩来实现的。
观察者模式(有时又被称为发布/订阅模式)是软件设计模式的一种。在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此...
本文主要讲讲用Cocos Studio制作的登录界面,来设计一个层类,然后根据这个登录界面的选择,跳转到不同的场景。其中,本文用到的界面可参看上篇Cocos2d-x使用Cocos Studio制作界面...
本文主要讲了怎么用Cocos Studio制做登陆界面,并导出成Json文件,直接在coco2d-x中来调用。这样做的好处就是界面和代码是分离的,你如果想改界面的话,就可以直接在外面用Cocos St...
本文要实现游戏中的暂停、重新开始。将当前界面截图,然后用这张图去构造一个层(以这张图为背景),然后加个按钮,主界面点暂停时,pushScene(),然后转到游戏暂停界面,当在游戏暂停界面点继续游戏po...
本文将主要来实现游戏开发过程中,技能冷却的实现,一个按钮点一次后,就会有一个冷却时间,得等冷却时间过了之后,你才能再次点击,一般这是实现特殊技能的。在这里,我也自己写了一个类,非常方便,只要把这个类加...
本文这里将要实现的一个功能是怪物受伤血量减少时,会出现一个扣了多少血量的数字从怪物中间飘到头顶,然后消失。然后有两种方式,一种是每次都扣同样的数字,一种是每次在一定范围内的数字随机.
本文将详细讲述cocos2dx中英雄与怪物的碰撞检测原理,其实就是精灵和精灵碰撞检测哈。本文主要从矩形碰撞入手,自己编写了一个矩形碰撞检测的函数,并且在游戏中来进行应用。另一方面,当英雄出动攻击后,如...
本文将主要来讲讲游戏开发中的怪物智能,一个好的游戏一般怪物都要分等级,这样我们游戏玩起来才有意思,怪物如果智商太高,游戏难度大。怪物如果智商太低,游戏玩起来又没有意思。一般好的游戏低级怪物和中级怪物占...
本章在前面的基础上Cocos2d-x 自定义血条及其美化----之游戏开发《赵云要格斗》(4)设计一个怪物类,并实现怪物的上方显示血条,血条跟随怪物的运动而运动。用到的血条类在上一讲中,平时我们游戏一...
在游戏开发中,血条是一个很重要的东西,这里的血条是通过两个图片来完成,一个是前景图(红色),一个是背景图(灰色),通过改变红色图在长度显示,灰色图不变就可实现血量的变化了。当然,这里为了让界面更加好看...
1516411984
1184335438如何使用Cocos2d-x 2.0.4制作一个简单的游戏 -GAD腾讯游戏开发者平台扫码下载官方App
学习过该课程的人还学习过:
其他联系方式
所属系列课程
网易公司(163.com)旗下实用技能学习平台。与优秀讲师、专业机构、院校合作,为您提供海量优质课程,以及创新的在线学习体验,帮助您获得全新的个人发展和能力提升。
关注我们:
& 网易公司 版权所有
Cocos2d-x游戏开发全套教程(可试学),职坐标,IT与互联网,系统开发,朱磊,欢迎来到线上教育平台职坐标!
网易年终大促期间,加入职坐标【精英VIP交流群 :】免费领取:
①价值3888元课程大礼包!(包含多门全套岗位课程)
②配套题库章检测
③项目视频代码练习
第一阶段:针对零基础学员,从Cocos-2dx的入门知识开始讲解,包括Cocos-2dx的历史及不同操作系统下的Cocos-2dx安装,将核心模块与高级技巧等运用于实战中,提升实战经验。
第二阶段:主要讲解Cocos2d-x的核心类,动作与动画,事件处理,数据存储以及网络内容。学习完这些,你就能熟练的做些简单的游戏了。
第三阶段:基于Cocos2d-x基础知识的学习之后,本阶段主要开始学习Cocos2d-x开发的进阶技巧,并配以相关的生动应用案例,让大家对Cocos2d-x强大的游戏引擎所带来的渲染能力有非常直观的体验。主要涉及瓦片地图,游戏音效,粒子系统以及物理引擎等内容。
适用人群:零基础爱好者。横版格斗游戏
cocos2d-x游戏源码
请大家赏个脸,如果感兴趣的看一下,含金量非常高的横版格斗游戏,
我的淘宝网址:
Beat 'Em Up Game
名将、恐龙、拳皇、三国战纪、战国传承,一个个响当当的名字,承载了80后多少儿时的梦想。横版格斗过关游戏,曾经是最受大众欢迎的一种类型,拳拳到肉的打击感,轻风飘逸的一招一式,还有怒涛般的连击技,令无数玩家如痴如醉。这种游戏也一度是游戏性最强的游戏,但在卡牌横行,快餐文化泛滥的今天,这种游戏已经失去了往日的光彩,但这不是游戏本身的错,而主要在于游戏厂商的急功近利。这种游戏不同于纯界面的卡牌游戏,战斗系统的复杂,灵活多变的AI和精巧严格的判定一向是游戏厂商避开的焦点,现在的游戏已经沦落为战斗系统能简则简甚至直接砍掉不要的程度(没有了战斗还能称之为游戏吗?)。所以在玩家的心目中,这种游戏已经成为了永恒的经典,就像划过天际的流星,依然在玩家脑海保留着流光溢彩的一瞬。看到现在,您想知道这种游戏是怎么做出来的吗?那么请看下面:
开发平台:Mac OS / WindowsvcD4KPHA+CtOm08PGvcyoo7ppT1MgLyBBbmRyb2lkPC9wPgo8cD4Kv6q3ormkvt+julhjb2RlIC8gVmlzdWFsIFN0dWRpbzIwMTA8L3A+CjxwPgqx4LPM0+/R1KO6T2JqZWN0aXZlLUMgLyBDJiM0MzsmIzQzOzwvcD4KPHA+CtPOz7fS/cfmo7pDb2NvczJkLWlwaG9uZSAvIENvY29zMmQteDwvcD4KPHA+CtS0wuvE2sjdo7ogIENvY29zMmQtaXBob25lL0NvY29zMmR4wb3M19S0wusmIzQzO1BERr3Ms8wgJiM0MzsgyKvM183q1fvXytS0PC9wPgo8cD4KPGltZyBhbGlnbj0="absmiddle" src="/uploadfile/Collfiles/7.png" alt="\">
能学到的东西有很多,除此之外还有地图编辑器Tiled,物理碰撞编辑器Physics Editor使用, 脚本控制角色行为,严格到帧出攻击判定等等先进技术。有许多技术是网上再怎么查也查不到的(程序员一定很清楚上网搜自己想要的东西是多么费脑子和痛苦的事情)。也许您还是觉得280多块有点贵,但我想告诉您的事,这套源码是从国外网站花300多美元买来的,换成人民币要多少钱。
外网链接:https://www.raywenderlich.com/store/beat-em-up-game-starter-kit
而且本宝贝含金量极高,不是只有干巴巴的源码,还有长达300多页的手把手教程。另从国外买回来只有MAC的XCODE可运行的cocos2d-iphone/effect-x版,国内大多数程序员无法接受。我本人花了三个多月时间一句一句代码地转换翻译成了现在通用流行的cocos2d-x 2.2 / C++版,在VS2010上绝对可以运行,几乎没有BUG。如果您真的喜爱这类游戏,这份宝贝绝对值的收藏,学习之后一生都会受用终生,因为连最难的战斗系统您都攻克了,还有什么游戏您做不了的呢?
口说无凭,有图有真相:如何使用Cocos2d-JS引擎快速开发一个微信游戏?
微信互动游戏开发
今天我们来介绍一下如何使用Cocos2d-JS引擎快速开发一个微信游戏《来自喵星的你》。源码下载:1.Cocos2d-JS引擎Cocos2d-JS引擎是Cocos2d-x的JS版本,它极大简化与整合的API设计使得游戏开发变得前所未有地轻松。依托Web平台使Cocos2d-JS享有高效的开发测试环境,命令行工具提供三步就可以搞定Web与Native全平台部署的便捷功能。官方下载地址:官方指南:2.Cocos Code IDECocos Code IDE是基于 Eclipse的跨平台 IDE,可帮助开发者便捷地创建游戏工程、编写调试代码、实时查看修改效果、并最终直接发布成可上架的安装包。官方下载地址:官方JS指南:3.游戏《来自喵星的你》主角是一只喵星小喵咪。他的使命是在危险的地球上铲除汪星人(为什么这两个星球的主战场要设置在地球上,我也没想通,不要在意这些细节嘛。。。),配角就是一群不断产生的汪星人,玩家需要控制喵星人的移动和攻击来躲避或者打败汪星人,打败的越多分数越高,如果喵星人被打败了,游戏结束,这个时候就可以把你的成绩分享给你的好友,比一比谁更牛。游戏无外乎就是各种游戏内的对象根据你所设定的逻辑或者用户的交互运行一系列动画而已。明白了这一点,我们就开始动手来开发一个已经在微信上刷屏刷的一塌糊涂的《来自喵星的你》,想想是不是有点小激动。我们先简单介绍一下这个游戏的结构,A.不要主菜单不要一堆乱七八糟的东西,一进游戏就开始玩,越简洁越能抓住用户。B.游戏的主界面,玩家操作界面和分数标签。C.喵星人只有一只,汪星人随着时间一直产生。D.游戏结束显示游戏结束的界面,可以重玩也可以分享。所以这是个单场景游戏。1)window.onload函数是Cocos2d-JS游戏的入口。在这里,我们加载了资源后进入到游戏场景。cc.LoaderScene.preload(["catnorrisd.png",&"pg.png",&"arrow.png",&"end.png"],&function&()&{cc.director.runScene(new&MyScene());MyScene就是游戏的主场景了,MyScene从cc.Scene继承而来。进入游戏后,引擎会调用onEnter函数,所以我们可以在onEnter函数里初始化整个游戏场景UI和处理触摸相关的逻辑。2)创建分数标签比如,创建一个分数标签,很简单,只需要初始化标签的属性,并添加到场景中即可。& &this.scoreLabel&=&&UI.scoreLabel&=&new&cc.LabelTTF("0",&"黑体",&24,&cc.size(150,&30),&cc.TEXT_ALIGNMENT_LEFT);&&&&this.addChild(this.scoreLabel);&&&&this.scoreLabel.attr({&&&&&&&&&x:30,&&&&&&&&y:cc.director.getVisibleSize().height&-&25,&&&&&&&&strokeStyle:&cc.color(0,0,0),&&&&&&&&lineWidth:&2,&&&&&&&&color:&cc.color(255,150,100),&&&&&&&&anchorX:0.1&&&&});3)处理触摸逻辑如何捕获用户的触摸?Cocos2d-JS提供了一个很方便的接口,我们只要在游戏的场景中调用cc.eventManager.addListener重写下面三个函数就可以了。onTouchBegan:function(touch,&event);onTouchMoved:function(touch,&event);onTouchEnded:function(touch,&event);从命名就可以看出来这三个函数是处理触摸的三个时间点。这里要注意的是,如果我们根据触摸的时间来判断用户是长按还是点击,如果是长按,喵星人就会移动,如果是点击,喵星人就会进行攻击。目标点坐标怎么获取呢?touch参数暴露咯。。。4)主角登场喵星人终于要出来了,为了方便操作喵星人,我们把它封装为一个类Cat,从cc.Sprite继承而来。ctor构造函数初始化了喵星人的状态。ctor:function(){&&&&this._super("catnorrisd.png",&cc.rect(144,148,70,32));&&&&this.attr({&&&&&&&&anchorX:0.5,&&&&&&&&anchorY:0&&&&});&&&&this.scheduleUpdate();&&&&this.idle();},5)状态机从上面的代码我们可以看到有2个奇怪的函数调用scheduleUpdate()和idle(),又是做什么用的呢?这里我们把喵星人设置为状态机模式。给定了喵星人可能的几个状态,idle,walking,attacking,dieing和dead。同样的调用walk(),attack()等等也会切换喵星人的状态。那这些只是状态的切换,如何表现这些状态呢?假如此时是walk的状态,喵星人会有一个左右摇晃的动作。this.runAction(cc.sequence(cc.rotateTo(0.12,&-3),&cc.rotateTo(0.12,3)).repeatForever());cc.rotateto是一个旋转动作。Sequence是一个连续动作,它把2个rotateTo连接在一起,按顺序执行。而repeatForever表示这个动作循环进行。同理,2种汪星人Doge和Husky也被封装为状态机的模式,然后后Manager对象统一进行管理,Manager对象主要做的事就是定时产生汪星人。6)碰撞检测碰撞检测同样在每帧进行,主角喵星人是一个精灵,在游戏看来它只是一块矩形纹理,汪星人同样也是,即便有的地方是透明的。所以这里采用的方式是检测喵星人的位置和汪星人的位置,一旦距离低于我们设置的值就判定为碰撞。if(cc.pDistance(this.target.getPosition(),this.getPosition())&&&COLSIZE)&&&&...如果喵星人被打败后,显示游戏界面,即UI对象。在这里可以重新游戏,也可以进行微信分享。7)微信分享这么碉堡的游戏怎么能少得了微信分享功能呢?分享功能的代码可以在index.html中看到。Api.shareToFriend(wxFriend,&wxCallbacks);Api.shareToTimeline(wxData,&wxCallbacks);Api.shareToWeibo(wxData,&wxCallbacks);其中wxFriend.desc和wxData.desc表示内容描述,可以在游戏结束的时候会进行修改。其他字段同样也可以在这里进行修改,比如链接,图标等等。document.title&=&window.wxData.desc&=&"喵星刷屏!喵获得"+UI.score+"分,在众喵中排名"+(0|(percent*100))+"%,尼能超过喵吗!";document.title&=&window.wxFriend.desc&=&"我拿了"+UI.score+"分,战胜了"+&UI.pg&+"个汪,超越了"+(0|(percent*100))+"%的好友!你能超过我吗";4.总结可以看到,《来自喵星的你》只用了一个js文件就搞定了,使用Cocos2d-JS引擎可以高效快速方便地开发一个JS游戏,只要有了Cocos2d-JS和Cocos Code IDE,你也能轻松、快速地打造出一款趣味的优秀游戏。目前微信游戏平台已成为国内最高人气的平台之一,并且诞生出了许多成功作品。借助Cocos2d-JS和Cocos Code IDE,从此开发者可以告别繁琐的工序,让开发来得更有效率。也许下款微信大热之作就属于你哦!5.源码下载地址和效果图游戏地址:源码下载:游戏效果图:
「GetParty」
关注微信号,推送好文章
微信中长按图片即可关注}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信