摘要: box2d中的物理世界,即b2World类就是一个包含了各种物体(body,物理体,或者叫刚体),固定附着物(fixture,形状与物理体的绑定物)以及各种约束体(比如关节),并使其在当中完成各种交互的这样一个集合体.这个世界可能存在重力,所以,在创建这个世界的时候我们需要传一个描述重力的二维向量(v2对象),当然这取决于你的视角设定,也许你是做的横版游戏,这样的确需要一个重力.如果是顶视图,那可能就不需要重力了.var gravity:V2=new V2(0,10);var world:b2World=new b2World(gravity);然后世界定期需要刷新//刷新时间粒度var st 阅读全文
posted @ 2013-10-23 15:26 awodefeng 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 物理引擎通过为刚性物体赋予真实的物理属性的方式来计算运动、旋转和碰撞反映。为每个游戏使用物理引擎并不是完全必要的—简单的“牛顿”物理(比如加速和 减速)也可以在一定程度上通过编程或编写脚本来实现。然而,当游戏需要比较复杂的物体碰撞、滚动、滑动或者弹跳的时候(比如赛车类游戏或者保龄球游戏), 通过编程的方法就比较困难了。那么着时候使用物理系统可以为游戏带来一些很明显的优点:1)更加真实的对现实世界的模拟,以牛顿力学为基础的游戏效果。 a) 游戏中的精灵们运动起来更真实:相互碰撞,自由下落等各种效果更加真实。 b) 玩家操作起来随机性增大,物理碰撞决定他操作的效果。游戏体验增强。2) 系统化的碰撞 阅读全文
posted @ 2013-10-23 09:12 awodefeng 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 在游戏中我们经常要加入物理碰撞等和物理有关的内容,在游戏中加入物理引擎可以使我们的游戏更加真实,为玩家展示一个更真实的世界,cocos2d-x支持两个物理引擎Box2d和Chipmunk,本文介绍box2d。Box2D是用可移植的C++来写成的。引擎中定义的大部分类型都有b2前缀,可以把它和我们游戏中的其他元素区分开来。Box2d中有很多概念。1.刚体即是物理学中的质点,只有位置,没有大小,它又可以区分为以下几类静态刚体:静态刚体没有质量,没有速度,只可以手动来改变他的位置棱柱刚体:棱柱刚体没有质量,但是可以有速度,可以自己更新位置动态刚体:动态刚体有质量也有速度物理引擎需要首先定义一个描述类 阅读全文
posted @ 2013-10-23 08:35 awodefeng 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 本节所用Cocos2d-x版本:cocos2d-1.0.1-x-0.12.0 不能免俗,一切都从“HelloWorld!”开始.打开HelloWorld工程,里面有两个文件目录Classes和win32。Classes下有HelloWorldScene.h/cpp,AppDelegate.h/cpp.win32下有main.h/cpp 首先看一下win32目录下的main.h,其中定义了使用win32平台进行编译的宏和一些Windows编程头文件。[cpp] view plaincopy[Cocos2d-x相关教程来源于红孩儿的游戏编程之路CSDN博客地址:http://blog.csdn.. 阅读全文
posted @ 2013-10-22 15:35 awodefeng 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 从本章开始,我们开始讲解cocos2d-x库的动作(Action)。游戏的世界是一个动态的世界:无论是主角精灵还是NPC精灵都处于不断的运动当中,甚至是背景中漂流的树叶,随风而动的小草。这些明显的或者不明显的运动构成了我们栩栩如生的游戏世界。仔细研究游戏中精灵的运动,我们发现:所有这样的运动都可以细分为若干个基本动作和基本动作的组合。通过进一步扩展,我们可以将同一精灵的更多动作和不同精灵之间的不同动作连贯起来,形成关于整个运动世界的连续模拟。我们给出示例ZYG003,展示cocos2d-x支持的主要动作:基本动作从技术上来说,基本动作的本质就是改变某个图形对象的属性:位置、角度、大小等。coc 阅读全文
posted @ 2013-10-21 10:55 awodefeng 阅读(408) 评论(0) 推荐(0) 编辑
摘要: Cocos2d-x 的“HelloWorld” 深入分析 本节所用Cocos2d-x版本:cocos2d-1.0.1-x-0.12.0 不能免俗,一切都从“HelloWorld!”开始.打开HelloWorld工程,里面有两个文件目录Classes和win32。Classes下有HelloWorldScene.h/cpp,AppDelegate.h/cpp.win32下有main.h/cpp 首先看一下win32目录下的main.h,其中定义了使用win32平台进行编译的宏和一些Windows编程头文件。源码打印?[Cocos2d-x相关教程来源于红孩儿的游戏编程之路CSDN博客地址:htt. 阅读全文
posted @ 2013-10-20 18:01 awodefeng 阅读(233) 评论(0) 推荐(0) 编辑
摘要: Email : awodefeng@163.com1 CCNode是cocos2d-x中一个很重要的类,CCNode是场景、层、菜单、精灵等的父类。而我们在使用cocos2d-x时,接触最多的就是场景、层、菜单、精灵等。所以有必要先弄懂CCNode类2 CCObject类是cocos2d-x中所有对象的基类,CCObject封装了对象的引用计数和自动释放功能,下面是类图3 因为场景、层、精灵、菜菜单是CCNode的子类,所以在使用它们时,有些方法来自CCNode,下面解释了CCNode中常用的方法[cpp] view plaincopyprint?//初始化CCNodeboolinit();/ 阅读全文
posted @ 2013-10-17 11:39 awodefeng 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 解决方案:http://www.microsoft.com/zh-CN/download/details.aspx?id=36020 下载更新 阅读全文
posted @ 2013-10-17 09:07 awodefeng 阅读(713) 评论(0) 推荐(0) 编辑
摘要: VS2010版快捷键Ctrl+E,D ----格式化全部代码Ctrl+E,F ----格式化选中的代码CTRL + SHIFT + B生成解决方案CTRL + F7 生成编译CTRL + O 打开文件CTRL + SHIFT + O打开项目CTRL + SHIFT + C显示类视图窗口F4 显示属性窗口SHIFT + F4显示项目属性窗口CTRL + SHIFT + E显示资源视图F12 转到定义CTRL + F12转到声明CTRL + ALT + J对象浏览CTRL + ALT + F1帮助目录CTRL + F1 动态帮助F1 帮助SHIFT + F1当前窗口帮助CTRL + ALT + F 阅读全文
posted @ 2013-10-16 18:35 awodefeng 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 主人公能够放子弹了,虽然子弹看起来很美,但是怎么样来打到妖怪?在这一章我们介绍一下最简单的碰撞检测方法去实现它。首先第一个,我们有必要保存每个妖怪和子弹的指针,来够追踪他们的位置。在这个游戏中我们增加两个tag标志去辨别CCNode对象是子弹还是妖怪。tag == 1表示他是一个妖怪,tag == 2 表示他是一个子弹。CCNode有一个m_nTag属性,我们可以使用getTag()/setTag()来访问它,CCSprite是CCNode的子类,我们可以利用这个。先在HellowWorld类中添加两个成员变量来存储,在HelloWorldScene.h里声明一下。 // cpp wit... 阅读全文
posted @ 2013-10-16 17:43 awodefeng 阅读(213) 评论(0) 推荐(0) 编辑