何自健的博客

life is a game,game is my life.

排序:
默认
按更新时间
按访问量

常用技巧(一):利用位运算去掉贴图空白部分

一、问题描述 在游戏开发的时候,特别是在2D游戏开发,我们经常会遇到这样一个问题,我们选用的是一张jpg/bmp图片,它不像png那样拥有透明的像素点。所以当我们把图片放到我们的屏幕的时候可能会出现如下问题: 我们的图片,我想把他贴到我们的背景上面 预期效果: 实际效果: 二、解决...

2015-05-30 12:55:35

阅读数:1089

评论数:1

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

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

2015-01-29 19:29:37

阅读数:1894

评论数:2

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

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

2015-01-27 21:46:36

阅读数:1472

评论数:0

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

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

2015-01-26 15:01:10

阅读数:1213

评论数:0

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

前言: 废话不多说,先看最终效果图 正文: 1、使用说明: ①引入头文件 “NumberScroller.h" ②用NumberScroller::create(int length,int fontSize) 函数来创建NumberScroller对象 ③利用set...

2015-01-26 14:25:22

阅读数:2091

评论数:2

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

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

2015-01-24 17:00:56

阅读数:1413

评论数:1

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

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

2015-01-11 15:23:24

阅读数:1358

评论数:0

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

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

2015-01-11 15:17:03

阅读数:771

评论数:0

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

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

2015-01-10 22:42:02

阅读数:1117

评论数:0

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

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

2015-01-10 22:34:15

阅读数:915

评论数:0

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

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

2015-01-10 21:27:36

阅读数:1357

评论数:0

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

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

2015-01-10 21:15:01

阅读数:681

评论数:0

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

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

2015-01-10 20:33:44

阅读数:960

评论数:0

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

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

2015-01-10 19:41:15

阅读数:910

评论数:0

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

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

2015-01-10 19:23:24

阅读数:816

评论数:0

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

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

2015-01-10 16:52:29

阅读数:1104

评论数:0

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

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

2015-01-09 22:40:05

阅读数:1159

评论数:0

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

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

2015-01-09 20:57:17

阅读数:1439

评论数:0

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

一、前言 在一个游戏里面,需要用到的数据一般都是由游戏策划提供的(这里的策划还是由我自己担任啦哈哈)。什么是需要用到的数据?例如我创建一个角色A,A有他自己的攻击力,防御力,速度等,再创建一个角色B,B也有自己的攻击力,防御力,速度等。每个角色都有一些基础属性,但是对应不同的角色,属性的值有可能...

2015-01-09 20:09:36

阅读数:1410

评论数:0

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

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

2015-01-09 16:13:49

阅读数:2031

评论数:0

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