- 博客(24)
- 资源 (8)
- 收藏
- 关注
原创 【Cocos2d-X】场景切换的小小研究
看场景切换的代码可以知道过程大概是这样:场景A切换场景B,则场景B在init之后,执行切换效果(如果有),再释放A。也就是说在切换的一段时间内,场景A和场景B是同时存在的。 写游戏的时候自己考虑场景A和B同时存在可能占用内存过多,就在有些地方加入了过渡场景,比如游戏关卡的重新开始。但是在“游戏关卡—过渡场景—游戏关卡”的切换时候出现了问题。我设定的是过渡场景init中定时器一定时间后自动切换场景,但是发现最后一直停在过渡场景,无法跳到游戏关卡去。 现在就可以试着解释一下停留在过渡场
2013-11-08 00:08:19 7192 4
原创 《C++游戏开发》十八 角色在障碍物中智能行走的实现
最近一直在忙着写一个游戏,其中融入了RPG元素,有人物的行走与障碍物判定。 一般而言,当人物行走时碰到障碍物时应该停止不动,就像下面这样 这样的实现非常简单,每次移动前判断人物的矩形是否和障碍物相交即可,如果只以向右的方向为例,代码大概可以写成这样if(行走){ switch(方向) { case 右:如果当前位置的右
2013-09-13 00:15:49 18104 24
原创 《C++游戏开发》十七 游戏中的寻路算法(三):A*算法原理
A*算法路径的评价公式为F=G+H 其中H为某个已达格子到目的地的估算距离,估算的方法有很多种,比如: 1、曼哈顿距离:即两点水平距离加上竖直距离。比如(x1,y1)到(x2,y2)的曼哈顿距离就是|x2-x1|+|y2-y1|。 2、欧式距离:即两点之间的真实距离。(x1,y1)到(x2,y2)的欧式距离就是 sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))。 3、切比雪夫距离:水平方向和竖直方向上的距离最大
2013-08-28 00:06:39 15201 11
原创 《C++游戏开发》十六 游戏中的寻路算法(二):迷宫&A*算法基础
在以前的游戏中,由于硬件性能的原因导致不能负担起丰富的画面,同时也为了减轻美术人员的工作量,如何利用少数的资源创造出不同的游戏是一个很值得探讨的问题,前辈游戏程序员们给出的答案就是迷宫。使用迷宫,一方面可以利用几面墙就可以采用算法随机生成无穷无尽的地图,使玩家得到不同的体验,另一方面,也可以大大延长游戏的时长,毕竟,大家不希望自己画几十块钱买来的游戏一会就通关了吧。 对于迷宫,涉及到的一个问题就是随机生成算法。大家可以首先将迷宫看成一个个方格,比如下图
2013-08-25 01:08:50 9931 4
原创 游戏升级之路
七十一雾央原创 转载请注明 http://blog.csdn.net/hust_xy楼主学习编程有两年了,决定向游戏发展大概就是半年前了,在这里总结一下游戏方面的学习经历过,给初学的朋友们参考下,也顺便参加下CSDN的读书活动。PS:本来楼主打算游戏的方式总结一下自己近两年的来的游戏方面的学习状况的,但是由于脑细胞死光了,到了后面显得很混乱,不幸看到这篇文章的同志们请勉强一下。
2013-08-25 00:47:57 9462 23
原创 【Cocos2d-X-2.1.4游戏引擎】发布第一个游戏
有一段时间没更新博客了,最近一直在写一个小游戏,游戏在今天终于搞好了,又可以开始写写博客,打打dota的悠闲的日子了哈。看了十几天cocos2d-x后,也依照官网的例子写了个打飞机的小游戏并自己扩展了一下,但是还是不够,对很多学习的东西都是很快忘记,感觉还是需要动手实践,于是自己就花了七天时间,整整的,写了这个游戏《七十一海·梦》,这也是我作为独立个人开发者的第一款游戏,哈哈。其实游戏内容挺简
2013-08-21 18:44:25 18104 70
原创 【Cocos2d-X-2.1.4游戏引擎】一周印象
据说是为了照顾Java程序员,cocos2d-x使用了自动内存回收。即在每一帧中,内存管理器会扫描一遍所有对象,不再需要的对象会被释放掉,自动回收内存。看起来似乎很是方便,减少内存泄露的犯错机会,不过刚学的时候在这上面遇到不少问题,即使到现在也不是特别的清楚。主要有三个函数 object->autorelease,object->retain,object->release所有对象使用create创建的时候默认都是autorelease的,即自动释放内存。我在尝试写自己第一个小游戏的时候,总是出错,调
2013-08-11 13:30:29 5653 8
原创 【Cocos2d-X-2.1.4游戏引擎】搭建环境&移植Android
1.下载cocos2d-x-2.1.4,解压就好。这时候可以直接运行里面的例子看看。2.创建工程.以前版本使用的是vc向导,现在版本需要使用python脚本创建工程 (1)先下载windows版本的python环境,官方规定了必须是2.7版本的 (2)添加到环境变量中去 (3)执行cocos2d-x-2.1.4\tools\project-creator\create_project.py脚本创建工程 双击执行没用的,需要到控制台下去执行。在控制台下切换到脚
2013-08-07 10:27:39 6635 33
原创 《C++游戏开发》笔记十五 专栏说明&游戏中的寻路算法(一):概论
大多数游戏中都是需要寻路算法的,因为游戏中人物、怪物、NPC都需要移动,人物可以由玩家操纵运动,但是怪物和NPC就必须有寻路算法来决定他们的移动了。即使像冒险岛那样的横版游戏,其实也是有的,在怪物视野内没有人物的时候,我们看到怪物在四处瞎晃悠,这也算是随机寻路算法,在场景中漫无目的的走来走去,当玩家进入怪物的视野范围内时,怪物就会向接近玩家的方向运动,比较简单的跟踪算法就如同雾央在笔记九中写的那样,直来直去的,按照最短路径靠近。但是笔记九中的跟踪算法几乎是没有什么作用的,因为场景中不可能都是平地,游戏中是必
2013-08-06 19:21:39 8296 21
原创 《C++游戏开发》笔记十四 平滑过渡的战争迷雾(二) 实现:真正的迷雾来了
用鼠标点击一下,散开一片迷雾,大家可以看到上面标示的数字,左上角是4,右上角是8,左下角是1,右下角是2在右边再点一下,我们可以看到两片迷雾叠加起来了,过渡的很自然。大家注意一下数字,两片迷雾中间的数字变成了12=4+8,3=2+1继续点,同理看了上面的图,大家应该清楚了吧。我们每次点击游戏窗口的时候,驱散一个圆形的迷雾,这个圆形就只需要1+2+4+8号图元拼接起来就可以了,当同一个Tile内有多个图元时,将它们的数字相加,用新数字的图元替换掉即可。二、实现步骤 我们知道,把上面的鼠标换成
2013-08-02 09:16:05 19228 40
原创 《C++游戏开发》笔记十三 平滑过渡的战争迷雾(一) 原理:Warcraft3地形拼接算法
在上一节中,雾央讲解了一种战争迷雾的实现方法,思想很简单,实现出来的效果里锯齿感也很强,当然如果网格能比较小,看起来也还算凑合,不过用在游戏中就显得不是很合适了。今天雾央将讲解一种新的算法,可以用来实现平滑过渡的战争迷雾,由于内容比较多,所以雾央会分几节笔记来讲解,今天先讲解原理。 相信大家都是玩过魔兽争霸的,虽然它最火的年代已经过去了,不过基于魔兽的地图Dota如今也还算是风头正劲,雾央也是一名忠实的Dota爱好者,不过水平比较菜,哈哈,大家对游戏开发比较感兴趣,肯定不会错过这款经典的游戏吧。
2013-07-29 08:51:37 18988 36
原创 《C++游戏开发》笔记十二 战争迷雾:初步实现
战争迷雾(Fogof War),在传统意义上是指战争中由于对敌人情报不清楚而无法确认除友军所在以外的大部分地区,敌人的分布及活动情况。而目前在游戏范围内,尤其是即时战略类游戏中,这个词语出现的频率更高一些也更被多数人所熟悉。 从最初的即时战略《沙丘2》开始,战争迷雾的概念开始被引入和正式提出。在沙丘中每一次新开始游戏时,玩家只能观察到自己基地及单位周围极小的范围,而绝大多数地图区域均被黑色遮盖。当他命令单位向黑暗区移动后,经过的区域会被自动打开,地图变得可见,包括该区域的地形/敌人活动情况等等。这
2013-07-26 00:49:59 25581 62
原创 《C++游戏开发》笔记十一 平滑动画:不再颤抖的小雪花
在之前雾央讲解了背景滚动,不知道大家发现了没有,在人物移动的时候,画面是一卡一卡的,原因是由于大家按下方向键移动后,人物突然移动一段距离,而背景也跟随着移动一段距离,突然变化的画面给大家带来的就是一种卡的感觉。在之后的粒子系统中有同学提到颤抖的小雪花同样是这样,在每次绘制的时候,都让雪花增加了一段确定的位移,但是由于计算机状态的不断变化,每两帧之间的时间差不同,所以雪花的移动也就不规律。有颤抖的感觉。 由上面的讨论,大家应该能知道,在游戏中,通过增加确定的位移来改变某个事物的位置往往是不准确的
2013-07-24 01:16:36 15131 45
原创 《MFC游戏开发》笔记十 游戏中的碰撞检测进阶:地图类型&障碍物判定
在玩游戏的时候,有些河流断崖等地方是不能通过的,高处跳跃落下的时候是不会穿过地平线的,石头挡着的地方是绝对不能路过的…………这些检测都属于地图障碍物判定的范围。大家在开发游戏的时候,地图的结构类型不同,采用的障碍物判定一般也就不同,地图类型和障碍物检测联系密切,因此雾央会介绍一下不同地图类型可以采取的方法。
2013-07-21 00:14:15 14703 45
原创 《MFC游戏开发》笔记九 游戏中的碰撞判定初步&怪物运动简单AI
在游戏之中,碰撞判定是必不可少的一块,在许多地方都需要用到。比如说在即时战斗游戏中,当人物碰到怪物的时候,人物是会扣血的;在回合制中,碰到怪物是要进入战斗场景的;游戏之中也还有一些荆棘之类的东西,还有非鼠标控制拾取物体等等,这些都涉及到了碰撞判定。 游戏之中,还有一块很重要的部分:障碍物判定,即玩家在运动的时候,需要判定哪些地方可以通过,哪些地方可以到
2013-07-19 00:29:49 16047 59
原创 《MFC游戏开发》笔记八 游戏特效的实现(二):粒子系统
本系列文章由七十一雾央编写,转载请注明出处。http://blog.csdn.net/u011371356/article/details/9360993作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo 在游戏之中,大家经常看到火焰、爆
2013-07-17 22:30:46 12444 40
原创 《MFC游戏开发》笔记七 游戏特效的实现(一):背景滚动
本系列文章由七十一雾央编写,转载请注明出处。http://blog.csdn.net/u011371356/article/details/9344721作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo 大家现在玩游戏的时候
2013-07-16 17:08:34 17387 48
原创 梦想
在浅墨的文章里曾看到一段话总有一天你将破蛹而出,成长得比人们期待的还要美丽。但这个过程会很痛,会很辛苦,有时候还会觉得灰心。面对着汹涌而来的现实,觉得自己渺小无力。但这,也是生命的一部分。做好现在你能做的,然后,一切都会好的。我们都将孤独地长大,不要害怕。—— 寂地《
2013-07-16 00:11:30 6605 18
原创 《MFC游戏开发》笔记六 图像双缓冲技术:实现一个流畅的动画
本系列文章由七十一雾央编写,转载请注明出处。 http://blog.csdn.net/u011371356/article/details/9299121作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo 在前几节的笔记里,大家肯定会为一个问
2013-07-15 17:06:59 18664 66
原创 《MFC游戏开发》笔记五 定时器和简单动画
本系列文章由七十一雾央编写,转载请注明出处。http://blog.csdn.net/u011371356/article/details/9313239作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo 上一节笔记中,我们讲解了键盘响应和鼠标响
2013-07-15 15:10:18 16416 35
原创 《MFC游戏开发》笔记四 键盘响应和鼠标响应:让人物动起来
本系列文章由七十一雾央编写,转载请注明出处。http://blog.csdn.net/u011371356/article/details/9313239作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo 在上一节笔记里,我们讲解了贴图的透明效
2013-07-14 23:31:07 22019 62
原创 《MFC游戏开发》笔记三 游戏贴图与透明特效的实现
本系列文章由七十一雾央编写,转载请注明出处。 http://blog.csdn.net/u011371356/article/details/9299121作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo 对于一个游戏来说,画面的华丽程度在
2013-07-12 17:25:11 31211 134
原创 《MFC游戏开发》笔记二 建立工程、调整窗口
本系列文章由七十一雾央编写,转载请注明出处。 http://blog.csdn.net/u011371356/article/details/9299121作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo 要开发游戏,我们得首先
2013-07-11 14:42:35 29632 106
原创 《MFC游戏开发》笔记一 系列简介
本系列文章由七十一雾央编写,转载请注明出处。 一、我的游戏开发学习之路 很多人走上计算机道路最初的原因就是怀揣着游戏开发的梦想,至少我是这样的。最初学习的日子是极度痛苦的,对于游戏开发充满着热情,但是却只能每天在控制台黑乎乎的窗口下写程序,不知道怎么样才能写出图形界面的游戏程序,我记得我当时在网上四处搜索资料得到的结果大都是说要去学习一门图形库,比如Direc
2013-07-11 12:05:29 32130 123
《C++游戏开发》笔记十四 平滑过渡的战争迷雾 源代码
2013-08-02
《C++游戏开发》笔记十二 战争迷雾的初步实现 源代码
2013-07-26
《C++游戏开发》笔记十一 平滑动画 源代码
2013-07-24
《MFC游戏开发》笔记十 碰撞检测 配套源代码
2013-07-21
《MFC游戏开发》笔记三 透明贴图 配套源代码
2013-07-17
《MFC游戏开发》笔记八 粒子系统 配套源代码
2013-07-17
《MFC游戏开发》笔记七 场景滚动 配套源代码
2013-07-16
MFC游戏开发6by七十一雾央
2013-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人