摘要:由于Box2D是不直接与鼠标交互的,而是通过鼠标关节b2MouseJoint交互的。交互的过程由四个步骤完成:第一步:获取鼠标单击处的刚体。第二步:创建鼠标关节。第三步:控制鼠标关节。第四步:销毁鼠标关节。首先,获取刚体。public function GetBodyAtMouse(includeStatic:Boolean=false):b2Body{// 在鼠标点击处创建一个极小区域,大小为0.002m*0.002mvar mousePVec:b2Vec2 = new b2Vec2(stage.mouseX/RATIO, stage.mouseY/RATIO);var aabb:b2AAB
阅读全文
摘要:源地址:http://www.cocoachina.com/blog/blog.php?do=showone&uid=4039&type=blog&cid=&itemid=927一、 HelloWorld开始之前,我假想你已经看过了HelloWorld的源代码,并看了用户手册中关于HelloWorld的相关说明,而且已经大致明白了大多数内容。其实HelloWorld已经用极其简单的语言向你描述了Box2D物理引擎的运作机制,我们可以归纳一下步骤:1、建立一个世界,这个世界基于一个b2AABB框,并设立了一个g值和一个是否允许休眠的bool型变量。2、 建立一个静
阅读全文
摘要:网上有不少弟兄在使用box2d做为物理引擎;自己也是最近才学。box2d的确是一个不错的2D物理引擎,无论是功能还是效率,可以说是把as3发挥到了及至,运行起来还是蛮流畅的。尽管学起来有点吃力(APE学起来比较容易,但是模拟出来的物理效果不好看,不能跟box2d相比,也没有box2d的功能强大),不过若是上手了就没那么难了;做起游戏来也是很容易的。 刚开始学box2d时也费了好大劲,到现在还是有好多要学的;不过,总算上手了。刚开接触box2d,经常把引擎的世界坐标与flash的舞台坐标搞混。不知道是世界坐标还是舞台坐标,后来总算是明白了。真是汗呀!现在做个总结,望能够给初学的弟兄们一些帮助。
阅读全文
摘要:box2d 刚体碰撞设定方法 fixtureDef.filter.categoryBits指自己所属的碰撞种类,fixtureDef.filter.maskBits指与其碰撞的种类;b2FixtureDef fixtureDef;注意 fixtureDef.filter.categoryBits 的值必须是2的倍数,假如有两个body 他们的 filter.categoryBits分别为2,4,则另一个body要想与他们两个都发生碰撞,则其filter.maskBits应该为: 2+4= 6. 对于fixtureDef.filter.groupIndex 属性: 当其为负值时,表示该组的对象不
阅读全文
摘要:这段是b2Island.as的方法..//if (minSleepTime >= b2Settings.b2_timeToSleep)这个是BOX2D原来的判定...b2Settings.b2_timeToSleep指向的值是0.5minSleepTime 是根据时间步的值来增加的..如果只有一个刚体..时间步是1/24的话..即使要休眠也达不到0.5的要求..b2Settings.b2_timeToSleep的意思是最小休眠时间....不过0.5一样还有问题...于是我就把这段函数改了下..增加了两句:var needSleep:Boolean = true;needSleep = c
阅读全文
摘要:原文链接地址:http://www.raywenderlich.com/606/how-to-use-box2d-for-just-collision-detection-with-cocos2d-iphone程序截图:当你使用cocos2d来制作一个游戏的时候,有时,你可能想使用cocos2d的action来移动游戏中的对象,而不是直接使用Box2d物理引擎来做。然而,这并不是说你不能使用box2d提供的强大的碰撞检测功能! 这个教程的目的,就是一步一步地向你展示如何仅使用box2d来做碰撞检测---没有物理效果。我们将创建一个简单的demo,里面有一辆车在屏幕上奔驰,当它撞到一只猫后就会.
阅读全文
摘要:前言:大家,可能用惯了图形化的IDE…不太熟悉这种命令行式的IDE工具..对于,c/c++编译,链接和调试就不太熟悉..所以..写了个简单教程…mingw的环境搭建:1,下载mingwhttp://sourceforge.net/projects/mingw/files/2.mingw有可能需要配置一些环境变量,最新版本应给直接帮你配置好环境变量了,如果没有可以参照下面 配置环境变量: 打开:“我的电脑->属性->高级->环境变量->系统变量”编辑如下系统变量: 变量名 变量值 PATH f:\MinGW\bin; LIBRARY_PATH f:\MinGW\lib C
阅读全文
摘要:package { import flash.display.MovieClip; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import flash.events.Event; import flash.display.Sprite; import flash.events.MouseEvent; ...
阅读全文
摘要:APE不行,做点简单的撞球,台球之类游戏还行。我最开始用他实验性做了个简单的基于物理引擎的泡泡龙类游戏,发现稍微多一点的几何体堆叠在一起就会产生渗透现象,没办法只好更改最初的设计。要专注做物理游戏,还是要精通box2d才行,而且box2d几乎任何主流语言都有它的版本。所以建议不要学APE,除非你只是想做点简单的撞球,jump,卡车模拟类游戏。box2d 也会穿透 不过比APE的确好多了目前网络上使用较多的2D物理引擎是Box2D和APE,其他引擎要么没有更新了,要么不成熟。
阅读全文
摘要:Box2dの学习资料整理与收集[不定时更新][Ispooky]
阅读全文
摘要:挺早之前看到过的小游戏,超级积木2,在开心网、QQ校友、空间传得挺多的,闲来没事就试着把它做出来,感觉还挺简单的,就仅仅使用了Box2D引擎中的创建刚体而已点击这里下载源码游戏规则就是把所有的积木摆放在舞台上并保持10S不倒下就算过关了要制作一个Box2D游戏,最重要的还是了解它的运作机制1package 2{3 import Box2D.Collision.b2AABB;4 import Box2D.Collision.Shapes.b2PolygonDef;5 import Box2D.Common.Math.b2Vec2;6 import Box2D.Dynamics.b2Body;7
阅读全文
摘要:注:点击鼠标添加Body,R键清空Body 原来博客园要注册才能看到swf的,附有截图package {import Box2D.Collision.b2AABB;import Box2D.Collision.Shapes.b2CircleDef;import Box2D.Collision.Shapes.b2PolygonDef;import Box2D.Common.Math.b2Math;import Box2D.Common.Math.b2Vec2;import Box2D.Common.Math.b2XForm;import Box2D.Dynamics.b2Body;import.
阅读全文
摘要:最近在研究Box2D光是贴图就研究了很长时间直接入题目的 是想让游戏角色或者说动作与逻辑代码相分离目前的看到网上的例子都是直接使用fla文件里面的MovieClip来实现而这种情况下,使用这个角色对象的话,逻辑代码就要写到fla文件中或者是fla关联.as类文件这样的话在纯AS代码来说不容易调试如下是自己总结的解决方案自己写的角色类用于调试,在不贴图的情况下,使用Box2D的showDebug可以方便的调试游戏,而又不影响调试和逻辑代码的使用那么这个角色类要给予最基本的Sprite里面存储一个Movie对象我们通过Loader来加载外部的swf资源文件,这样实现资源文件 影片剪辑与代码的分离我
阅读全文
摘要:Box2D is an Open Source rigid body 2D physics engine for C++. It’s currently (2.0.1) released under the MIT license, which is quite permissive. Box2D is used by, among other things, Gluon (http://gluon.tuxfamily.org/), which is a game library from KDE in-the-making.Integrating Box2D into your Qt app
阅读全文
摘要:任何一门技术,在学习的时候都会遇到各种各样的问题,有些很初级,有些比较诡异。而且有一个特点,就是大部分人在学习过程中遇到的问题都差不多。所以,本贴的目的就是建立一个常见问题的汇总贴,把我学习过程中,网友在博客上的提问,还有群里面的问题,以FAQ的形式整理出来,供大家参考。如果大家发现存在什么问题,或者某个问题有更好的解决办法的话,欢迎留言指出。FAQ NO.1:Q:新建一个cocos2d项目,如果把横版改成竖版?A: 在RootViewController.m里面, 在shouldAutorotateToInterfaceOrientation:方法里面, 找到#elif GAME_AUTOR
阅读全文
摘要:Box2D是一个用于游戏的2D刚体仿真库,程序员可以在他们的游戏里使用他们,也可以是的自己的物体运动的更可信。让他看起来更加接近现实。物理引擎是一个程序性的动画系统。而不是由动画师去移动物体。这一切都是建立在牛顿力学的基础之上。 Box2D最初是用c++来写的,之后有被多种语言所实现。Box2D Physics EngineBox2d中的核心概念:刚体:和我们在物理中学习的刚体的概念是一样的,两物体之间的距离都是完全不会变化的。不会发生变形。他就是Box2D中的body。形状:一个依附于body的几何结构体,同时具有物理的摩擦(friction)和恢复(restitution)的材料性质。..
阅读全文
摘要:初学Box2D ,有几个心得1.贴图。在 APE 中,不给粒子贴图,会有默认的白色粒子。如果要贴图,只要一个setDisplay 函数,就会用贴图代替默认的白色贴图。而 Box2D 压根儿没有贴图的概念。可以这么认为,Box2D 只负责数据的处理。往 box2D 的世界中输入各种数据,比如粒子大小,位置,摩擦力,重力等等,每一帧,box2D 都会返回给你每个物体的坐标,角度等等(注意返回的只是数据)。然后我们每一帧赋予贴图相应的坐标,角度,让他们动起来。实际上引擎纯粹在计算数据。然后我们操作数据。比APE 抽象吧。(可能我讲的比较抽象)2.定义粒子Box2D 粒子的设置比较麻烦,要设置 粒子的
阅读全文
摘要:原文链接地址:http://www.raywenderlich.com/457/intro-to-box2d-with-cocos2d-tutorial-bouncing-balls程序截图:这个教程的目的就是让你们熟悉在cocos2d里面如何使用box2d,所采用的例子就是制作一个简单的应用,里面有一个篮球,你可以通过旋转你的iPhone来改变重力的方向,同时篮球碰到屏幕边界可以反弹。 这个教程假设你已经学过前面的教程《如何使用cocos2d来制作一个简单的iphone游戏》,或者有同等相关经验也可以。 好了,让我们开始学习Box2d物理引擎吧!创建一个空的工程 打开Xcode,选择c...
阅读全文
摘要:原文链接地址:http://www.raywenderlich.com/505/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2d-tutorial-part-22程序截图:这是《如何使用cocos2d和box2d制作一个简单的breakout游戏》的第二部分,也是最后一部分教程。如果你还没有读过第一部分,请先阅读第一个教程! 在上一个教程中,我们创建了一个屏幕盒子,球可以在里面弹跳,同时,我们可以用手指拖着paddle移动。这部分教程中,我们将添加一些游戏逻辑,当篮球碰到屏幕底部的时候,就Gameover。Box2D 和碰.
阅读全文
摘要:原文链接地址:http://www.raywenderlich.com/475/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2d-tutorial-part-12程序截图:box2d是一个非常强大的物理引擎库,同时它与cocos2d结合非常适合在iphone上面做游戏开发。著名的angry birds,tiny wings都是用box2d写的。你可以用它做好多事情,当然,最好的学习方法就是使用它来创建一个简单的游戏。 在这个教程中,我们将一步一步创建一个简单的breakout游戏,完成碰撞检测,篮球反弹物理效果,通过tou.
阅读全文