【Cocos2d-x】PhysicsEditor的使用

下载与安装PhysicsEditor

物理编辑器介绍

1.VertexHelper

免费、开源的物理编辑器,只能在Mac平台下使用。

2.PhysicsEditor

收费,支持windows与mac。可免费使用,有功能限制。

这里使用的是PhysicsEditor。

PhysicsEditor下载地址:

下载地址一:https://www.codeandweb.com/physicseditor

下载地址二:http://pan.baidu.com/s/1mgp8eHa

在PhysicsEditor安装目录下有一个Examples文件夹。这里有各个物理引擎的使用示例。Cocos2d-X文件夹是Cocos2d-x的例子,但是是使用Cocos2d-x1.0。

编辑器的使用

1.点击Add Sprites按钮添加图片,或者直接拖到左边的窗口

2.编辑顶点,编辑之前先在编辑界面顶部选择形状的类型(圆形、多边形),右键添加顶点,用鼠标拖拽顶点,编辑形状。

3.导出格式设置,在Cocos2d-x中使用的是plist格式的文件。所以选择Box2D geneic PLIST

4.相关参数的设置

5.使用魔法棒自动填充顶点。

点击魔法棒后,在弹出的对话框中的Tolerance字段设置顶点的数量因子。数字越小,顶点数量越多;数字越大,顶点数量越少。默认为5,一般已经可以把图形轮廓描绘出来了。

6.点击Publish导出,导出文件记录了图片的夹具定义信息,key为在编辑器中设置的资源名称。

在Cocos2d-x中使用导出文件

开发环境说明:

游戏引擎版本:Cocos2d-x2.2.1

物理引擎:box2d

系统:win7

1.拷贝GB2ShapeCache-x.cpp和GB2ShapeCache-x.h到工程。

对于导出文件的加载和解析方法封装在GB2ShapeCache这个类中。类的定义与实现在PhysicsEditor\Examples\Cocos2d-X\Demo\Demo\generic-box2d-plist目录下的GB2ShapeCache-x.cpp和GB2ShapeCache-x.h文件中。

把这两个文件拷贝到工程Classes目录下。

注意:由于例子工程使用是的Cocos2d-x1.0,使用了过时的api,所以在使用的时候还需要做些修改。

2.替换GB2ShapeCache-x.cpp中使用的废弃api

3.首先#include "GB2ShapeCache-x.h",使用GB2ShapeCache的addShapesWithFile方法加载plist文件

4.定义资源名称数组,需要与编辑器中定义的资源名称相同。

5.通过GB2ShapeCache的addFixturesToBody方法建立夹具定义与刚体的关联。

效果图

工程地址:https://coding.net/u/linchaolong/p/PhysicsEditorDemo/git

点击下载源码

相关文章:

【Cocos2d-x】物理引擎使用入门

时间: 2024-07-28 21:18:31

【Cocos2d-x】PhysicsEditor的使用的相关文章

cocos2d::Vector

v3.0 beta加入 定义在"COCOS2DX_ROOT/cocos/base"的"CCVector.h"头文件中. template<class T>class CC_DLL Vector; cocos2d::Vector<T>是一个封装好的能动态增长顺序访问的容器. cocos2d::Vector<T>中的元素是按序存取的,它的低层实现数据结构是标准模版库中的标准顺序容器std::vector. 在Cocos2d-x v3.

Cocos2D中Action的进阶使用技巧(一)

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;) 大家对Cocos2d中动作的使用大概都非常清楚了,事实上本身action的概念也不复杂. 可是在某些情况下,一般的动作不能满足我们需求的时候,我们就必须使用更高级的Action方法来解决这个问题. 比方,串行化(不是序列化哦,这是两个全然不同的概念)不同Action的执行-有些童鞋可能会说非常easy,直接用CCActionSequence不就结了,可是等等我

Cocos2d入门--3-- 向量的应用

 Cocos2d入门--3-- 向量的应用 小球向一个方向持续运动的Demo HelloWorldScene.h ...... //设置一个protected的属性 protected: cocos2d::Vec2 _vec; ...... HelloWorldScene.cpp //这个是通过随机数设置向量的方向 _vec.set(random(-0.1f, 1.0f), random(-1.0f, 1.0f)); //通过normalize这个标准化函数,能够使得向量的大小为1 _vec.n

Cocos2d入门--1-- 初涉相关属性或代码

 Cocos2d入门--1-- 初涉相关属性或代码 Cocos2d vision:  cocos2d-x-3.8.1 万丈高楼,起于累土.对于一个游戏框架的学习,其实在于框架功能的使用积累,学会了如何在cocos2d游戏引擎的基础上使用它提供的各种功能,并灵活运用, 以及学会查阅Cocos2d官方提供的API文档.相信自己也能开发出自己喜爱或者让别人羡慕的游戏. 目录: 1>认识origin和visibleSize以及cocos2d的基础绘画类DrawNode的简单实用 2>认识 CCLOG(

UITableViewController 滚动引起的cocos2d动画暂停问题的解决

UITableViewController 滚动引起的cocos2d动画暂停问题的解决 之前在使用UITableViewController进行滚动时,cocos2d的动画会暂停,直至滚动完毕才会继续动画. 后来发现可以这样解决,想要了解更多,请查阅NSRunLoop相关知识. // .h NSTimer* m_timer; // .m- (void)updateCCDirector { [[CCDirector sharedDirector] drawScene]; if (!self.tab

cocos2d 游戏开发实战

文章转自:http://uliweb.clkg.org/tutorial/read/40 6   cocos2d 游戏开发实战 6.1   创建cocos2d项目 6.2   cocos2d v3 "hello world" 6.2.1   显示一个飞船 6.3   精灵 6.4   開始 space viking 之旅 6.4.1   添加 sneakyinput 6.5   精灵的移动效果,旋转效果 6.6   定时器效果 6.7   启动 cocos2d,默认竖屏 6.8   检

cocos2d::Map

v3.0 beta加入 定义在"COCOS2DX_ROOT/cocos/base"的"CCMap.h"头文件中. template <class K, class V> class CC_DLL Map; cocos2d::Map<K,V>是使用std::unordered_map作为底层结构的关联式容器. 而std::unordered_map是一个存储键值对的关联式容器,它可以通过它们的键快速检索对应的值. 使用unordered_map

cocos2d::Value

cocos2d::Value 于v3.0beta加入 定义在"COCOS2DX_ROOT/cocos/base"的头文件"CCValue.h"中 class Value; cocos2d::Value是许多基本类型(int,float,double,bool,unsigned char,char*和std::string)还有std::vector<Value>, std::unordered_map<std::string,Value>和s

安卓开发游戏用Cocos2d什么版本?

这两天上课,讲了两天半的游戏开发,做一个植物大战僵尸的小demo,最终实现到一步步点击进入游戏后,豌豆射手可以打死僵尸,僵尸可以啃坚果. 使用的是Cocos2d-android,老师在讲课的时候主要就是说这样写可以实现这样的效果,哒哒哒做出来.我听着十分焦灼..难受,因为这些类的今生前世,什么关系,都是干什么的啊不是很清楚.于是下来自己查相关的资料,在网上搜知识点,发现引用了一本书<cocos2d-x权威指南>,讲的比较详细,于是下来看,直接看第三章核心类,看到代码发现是C++的,感觉不对头.

关于xcode5安装cocos2d的问题

最近开始学习cocos2d,但开头就给我难住了,由于视频老一点,用的是xcode4学习教程用的是cocos2d 2.1.4为了同步,我也就先装这个版本,安装视频的做法使用如下命令安装 -u代表替换原先的版本 sudo /Users/qin/Downloads/cocos2d-x-2.1.4/install-templates-xcode.sh -f -u 但是安装老是出错不成功!!不在啰嗦下面是我亲手解决的办法 首先要打开install-templates-xcode.sh文件 我们发现: BA