自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

何自健的博客

life is a game,game is my life.

  • 博客(20)
  • 收藏
  • 关注

原创 Cocos2dx3.2编写常用UI组件(五)带滚动的表格GridView

前言:按照惯例先发上效果图:正文:先来吐槽几句,一说起滚动效果大家可能会联想到Cocos2dx给我们提供的ScrollView。我一开始也是打算用ScrollView来实现的,但是用着用着发现出现了各种莫名其妙的错误,所以只好自己重新写一个Node,通过onTouchBegan和onTouhMoved两个事件回调来实现滚动的效果。GridView使用说明:1.利用Gri

2015-01-29 19:29:37 2834 2

原创 Cocos2dx3.2编写常用UI组件(四)发光的标题BlinkTitile

前言:如果看了上一节我推荐的blog,并且掌握了遮罩层的运用,那么本节介绍的发光标题就非常的简单了。没有看也没关系,现在我来具体讲一下ClippingNode正文:关于遮罩ClippingNode,我们先来介绍两个名词:模板和底板不知道大家以前又没有玩过橡皮泥,通常有一下空心的模具,只要把花型的模具按在红色的橡皮泥上面,就可以裁剪出一个花型的红色橡皮泥这里花型模

2015-01-27 21:46:36 1990

原创 Cocos2dx3.2编写常用UI组件(三)收集器效果Collector

前言:在游戏中,我们经常可以看到,获取分数后,分数会自动升到对应的分数栏上面。今天我们就来实现这种效果正文:这种效果实现起来其实非常的简单,只需要对生成出来的分数(通常是一个Sprite或Node)添加动作,让其能够飘到目标位置,然后消失就可以了。这里我提供一个Collector类来供大家使用。方便大家的操作。Collector的使用说明:①通过Collector::create(

2015-01-26 15:01:10 1510

原创 Cocos2dx3.2编写常用UI组件(二)滚动计数器NumberScroller

前言:废话不多说,先看最终效果图正文:1、使用说明:①引入头文件 “NumberScroller.h"②用NumberScroller::create(int length,int fontSize) 函数来创建NumberScroller对象③利用setNumber(int number)函数来设置计时器里面的值(这里只实现了向后滚动,即设置的值要大于等于当前值)

2015-01-26 14:25:22 2919 3

原创 Cocos2dx3.2编写常用UI组件(一)新手指导框GuideLayer

前言:在很多的游戏里(特别是RPG游戏),一开始都会有一个关于操作的介绍,几乎都像下图那样子的。除了系统希望你所点击的区域外,其余区域都会变暗,而且你点暗的区域是不会有任何反应的。正文:下面我们来讲怎么实现的:一、实现思路:我们可以用Cocos2dx提供给我们的LayerColor,在你想要被点击的区域周围添加4块LayerColor,如下图所示

2015-01-24 17:00:56 1823 1

原创 cocos2dx3.2开发 RPG《Flighting》(十五)最后的总结说明,以及源码分享

一、前言这次的Flighting系列教程一口气写了2天,到这里就要结束了。接下来我说明补充一下一些前面没有提到,但是我觉得有必要讲一下的。二、正文1.怪物的出场前面已经说了一个个的XXXMessageUtil,其实StateMessageUtil是比较特别的。首先我们先看看StateMessage的Excel表(关卡)前面的字段大家可以参透参透,我主要讲一讲mons

2015-01-11 15:23:24 1734

原创 cocos2dx3.2开发 RPG《Flighting》(十四)暂停按钮

一、前言整个教程快接近尾声了。还有一个暂停功能需要添加二、正文首先,我们要在右上方添加一个按钮bool FlightLayer::init(){ MenuItemImage* pauseBtnItem = MenuItemImage::create("UI/pauseBtn.png","UI/pauseBtn.png",[=](Ref* pSender){Director::

2015-01-11 15:17:03 967

原创 cocos2dx3.2开发 RPG《Flighting》(十三)让英雄炫酷点—技能以及技能效果

一、前言怪物已经变聪明了,我们的英雄不变得厉害点怎么行呢二、正文其实技能这个问题纠结了我好久,因为每个角色的技能都不一样(参考英雄联盟),我当初也想把技能做得多姿多彩的。所以我就想在代码中嵌入lua,可惜小弟不才,虽然最后弄明白了怎么搞,但是发现已经太迟了(应为要把之前的自定义的类都转成lua接口)。所以采用了一种很笨很笨的方法。

2015-01-10 22:42:02 1426

原创 cocos2dx3.2开发 RPG《Flighting》(十二)让怪物智能点——怪物仇恨值

现在我才开始看怪物的头文件class Monster : public Role{public: Monster(); static Monster* create(const std::string& name,FlightLayer* layer); void initMonster(); virtual Point getHpSliderPos(); void add

2015-01-10 22:34:15 1234

原创 cocos2dx3.2开发 RPG《Flighting》(十一)角色分类——英雄与怪物

一、前言先补充一下,英雄的死亡英雄的死亡,我们要在FlightLayer对m_rolesArray进行清除操作void FlightLayer::cleanNullPtrInArray(){ auto it = m_rolesArray.begin(); while(it != m_rolesArray.end()){ if((**it)->getRoleStat() == R

2015-01-10 21:27:36 1960

原创 cocos2dx3.2开发 RPG《Flighting》(十)为角色加上血量条

一、前言先说明一下,Role类其实是有很多属性的protected: /*与战斗相关的数据*/ int m_id; //id Role* m_attackTarget; Role** m_attackTargetPtr;//攻击目标 Point m_desPoint;//目标位置 ROLE_STAT en_stat; //当前状态 FlightLayer* m_

2015-01-10 21:15:01 1039

原创 cocos2dx3.2开发 RPG《Flighting》(九)必不可少的子弹

一、前言上一节我们讲完了攻击,其实也只是攻击者一方一厢情愿地播放自己的攻击动画罢了,被攻击的那一方根本不知道发生了什么,攻击者和被攻击者还没有联系起来。所以,我们就引入了子弹这个东东。二、正文一开始我在开发的时候想到用物理引擎,后来想了想还是算了,一是难控制,二是可能会遇到一些问题(例如两个人之间可能会发生碰撞。。)所以还是将错就错,直接用update函数解决问题吧。

2015-01-10 20:33:44 1269

原创 cocos2dx3.2开发 RPG《Flighting》(八)开始战斗

一、前言前面我们已经基本学会了怎么让角色走起路来而且也做了很多的优化。下面是时候开始战斗了。不过还是不要急,我们先暂时不引入英雄和怪物这两个类(毕竟只要是Role就可以打架,哪怕是英雄打英雄)二、正文先大致说一下整个思路:1.选择角色并且可以拉出一条导航线出来(之前已经做了)2.判断导航线的终点,如果终点刚好是在一个Role的身上,那么..嘻嘻就打他了。3.角色移动

2015-01-10 19:41:15 1302

原创 cocos2dx3.2开发 RPG《Flighting》(七)回到战斗场景,更新角色的叠放次序

一、前言至此,我们的战斗场景关于角色移动已经讲得七七八八了。不过还是有一些问题需要注意注意。二、正文在第五节里面我们讲了FlightLayer里面有一个很重要的容器m_rolesArray,并且说道其初始化是由以下两个函数负责的。void FlightLayer::initTeam(const HeroMessage& h1,const HeroMessage& h2,co

2015-01-10 19:23:24 1163

原创 cocos2dx3.2开发 RPG《Flighting》(六)角色的状态和控制效果

一、前言一般来说,我们在做一个稍微有点智能的实体的时候都会用到状态机。这里我没有用到,但是我也为角色设置了几种状态。如果大家看了上一节,也完成了角色的基本移动的话。对比过我一直说的《BattleHeart》之后,你会发现,现在的控制移动操作也太挫了,既没有那一条拉出来的导航线,也没有角色被选中的效果。所以接下来我们要对我们的基本控制操作加入一些效果。二、正文1、角色的状态

2015-01-10 16:52:29 1588

原创 cocos2dx3.2开发 RPG《Flighting》(五)只能行走的战斗场景

一、前言前面几节好像与我们一开始说的游戏不太相关,现在我们正式进入战斗场景的开发。不过凡事不要心急,要循序渐进,我们先搭建一个能够让角色在上面行走的战斗场景吧。二、正文首先精简一下Role类,让他能够实现移动功能就好了。顾名思义,role就是角色,在战斗场景出现的一个一个人都是一个role,废话不多说,直接贴上经过精简过得Role头文件class Role :

2015-01-09 22:40:05 1576

原创 cocos2dx3.2开发 RPG《Flighting》(四)预先加载与选人界面

一、前言假设你已经看懂了前面三节,那么接下来我们就开始进入真正的开发啦~~二、正文1、预先加载首先我们先谈谈预先加载,什么叫预先加载,就是在资源没有被用到的时候就先把资源加载到内存,等要用的时候直接从内存里面获取就好。这样的好处是当用的时候会省去加载的时间,但是坏处就是占用一部分内存,这是一个时间与空间的选择问题。游戏一开始进入的是MenuScenebool M

2015-01-09 20:57:17 1879

原创 cocos2dx3.2开发 RPG《Flighting》(三)从Excel表中加载需要的数据

一、前言在一个游戏里面,需要用到的数据一般都是由游戏策划提供的(这里的策划还是由我自己担任啦哈哈)。什么是需要用到的数据?例如我创建一个角色A,A有他自己的攻击力,防御力,速度等,再创建一个角色B,B也有自己的攻击力,防御力,速度等。每个角色都有一些基础属性,但是对应不同的角色,属性的值有可能不同。我们不可能在代码里面把这些数据写死。最好的办法是从一个文件(通常是Excel表格)中读入数据,这

2015-01-09 20:09:36 1831

原创 cocos2dx3.2开发 RPG《Flighting》(二)骨骼动画介绍及游戏美术资源分享

一、前言关于骨骼动画,如果大家不知道是什么东东的话,可以先百度一下。如果大家有去玩过我介绍的《BattleHeart》的话,你会发现,里面用到的就是骨骼动画,而且骨骼动画有几个帧序列动画无法比拟的优点:1)不需要太多的资源,就可以实现多种动画2)动画效果可以自行设置(很适合像我这种没有美工MM辅助的苦逼)3)可以随意替换,如果你有认真观察《BattleHeart》的话,你会发现

2015-01-09 16:13:49 2976

原创 cocos2dx3.2开发 RPG《Flighting》(一)基本介绍

前言:上次写了一个消灭星星,很多人都回复了我,并且提出了宝贵的意见,先感谢大家啦~上几个月我发现了一个很好玩的游戏——《BattleHeart》,心里面想着,这么好的游戏要是可以联机跟好朋友一起玩(就像CS那样)那就爽歪歪了,于是就动手开始模仿这款游戏,并且为其加入网络模块。可惜,因为对多人网络游戏开发并不熟悉,虽然最后还是开发出来了,但是效果却差强人意。不过在开发过程中学到了很多新的知识和网

2015-01-09 15:15:45 2713 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除