今天收到PhysicsEditor作者发过来的license key,所以顺便把PhysicsEditor也尝试了一下。主要是尝试将PhysicsEditor与cocos2dx,box2d结合开发的一些步骤。之前大概网络检索了一下,知道PhysicsEditor的功能其实很简单。一句话就是给图片的边缘定位,并且指定图片对齐(重心?)位置,然后导出成plist文件。用来快速给box2d提供图片边缘设定的工具,懒人利器 。废话不多说,我们一步一步开始探索吧。

1. 从官网下好安装文件,在安装包里找到Examples文件夹。选中Cocos2d-X中的工程,导入xcode。

可以看到,其中有其他各类框架的例子程序。选择自己熟悉的框架目录,简单通过这些程序就能知道PhysicsEditor的大致使用方式。

2. 可以看到,GB2ShapeCache-x.cpp中实现了自己的解析类。主要是用来解析PhysicsEditor所生成的plist文件。在HelloWorldScene.cpp中,通过一行代码就能将plist导入进来。

3. HelloWorldScene.cpp中其他代码都是标准的cocos2dx和box2d语法,暂不介绍。这里主要找一下如何将plist中的配置应用到box2d具体的一个body中去。如下图所示,只需要在创建body时调用GB2ShapeCache系列函数,将对应边缘和对齐位置追加到body中就行了。

4. 接下来,看一下实际效果

5. 这样物体下落时就会根据PhysicsEditor设定的边缘,进行边缘碰撞检测。

6. 还缺少什么?是的,我们来看一下PhysicsEditor的真正界面,了解如何生成对应的plist。

进入工程目录,可以看到有一个.pes后缀的文件,就是PhysicsEditor的工程文件,双击打开。


 

7. 边缘设定和中心点都是可以手动调整的,也可以使用工具栏中的魔棒工具,自动帮你设定好边缘。

最后,选择Publish导出成box2d plist文件格式就OK了。

跟TexturePacker一样,PhysicsEditor是一个简单,但是非常实用的工具。对于cocos2dx快速开发来说确实都是很好的辅助工具。

最近用到这个强大的工具 PhysicsEditor (转)的更多相关文章

  1. 发一个比trace功能更强大debug工具,MonterDebugger

    经常看到兄弟说trace不出东西啊,这样给你调试会带来很多不便:加入说我们需要将运行时的debug信息和之前某个版本的进行比对:又加入说我们需要在运行时通过debug动态调整显示对象的属性:查看当前整 ...

  2. strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。

    strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用. http://bbs.51cto.com/thread-1106891-1.html

  3. Ubuntu 10.04里安装强大抓图工具Shutter

    Shutter 原名叫GScrot,是一款Linux下很强大的抓图工具,支持截取全屏幕,窗口,自选区域以及网页的图像,并且截取后的图像还可以简单编辑,Shutter还支持插件功能,矩齿,边缘化,碎纸, ...

  4. DevOps时代,企业数字化转型需要强大的工具链

    伴随时代的飞速进步,中国的人口红利带来了互联网业务的快速发展,巨大的流量也带动了技术的不断革新,研发的模式也在不断变化.传统企业纷纷效仿互联网的做法,结合DevOps进行数字化的转型. 通常提到Dev ...

  5. python 强大的工具

    numpy Python科学计算的基础包 安装工具 pip3 install numpy pandas包含了高级的数据结构和操作工具,它们使得Python数据分析更加快速和容易. 安装工具 pip3 ...

  6. java中有个很强大的工具jconsole.exe

    这个工具可以监控java程序的线程,cpu和内存使用情况.

  7. 强大生产力工具Alfred

    今天要给大家介绍的工具是Alfred,一款Mac下的高效生产力产品.它能做什么呢?简单的说就是:让你能够通过打几个字,就可以完成原本需要一顿操作的事情.举一个简单的栗子:如果我们要在Google搜索一 ...

  8. 强大的工具(一):Capslock+ 2.x版本

    2020.07.09 更新 作者更新了3.x版本,因此更新了3.x版本的博客,可以戳这里. 本篇文章介绍的是2.x版本. 1 Capslock+简介 Capslock+利用了键盘少用的Capslock ...

  9. 比 Navicat 还要好用、功能更强大的工具!

    DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好的 ASL 协议.可以通过官方网站或者 Github 进行下载. 由于 DBeaver 基于 Java 开发 ...

随机推荐

  1. Maven之Nexus构建企业级Maven仓库

    什么是Nexus? Nexus是Maven仓库管理器,用来搭建一个本地仓库服务器,这样做的好处是便于管理,节省网络资源,速度快,还有一个非常有用的功能就是可以通过项目的SNAPSHOT版本管理,来进行 ...

  2. 图示-Centos7完整安装

    工作过程中,一些未接触过Centos,或未安装过Centos的同事经常会问,如何安装?这个事说简单真简单,只有操作过一次,第二次就能够熟练的自己动手安装:但说难也难,如果没人带,第一次安装的时候确实不 ...

  3. Ubuntu 14.04下NFS安装配置

    1.安装nfs-server # apt-get install nfs-kernel-server 2.建立nfs专用文件夹 # mkdir /data/disk1 3.配置nfs # vi /et ...

  4. NSData NSDate NSString NSArray NSDictionary 相互转换

    // NSData NSDate NSString NSArray NSDictionary json NSString *string = @"hello word"; NSDa ...

  5. YTU 2973: C语言习题5.25--文件操作2

    2973: C语言习题5.25--文件操作2 时间限制: 1 Sec  内存限制: 128 MB 提交: 242  解决: 105 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编 ...

  6. nodejs 与数据库的连接

    //创建连接(封装) var mysql = require("mysql") function name(){ var con = mysql.createConnection( ...

  7. python项目练习3:万能的XML

    1.目的 如何用XML来表示多种数据,以及如何使用适合XML或SAX的简单API来处理XML文本.目标是通过一个描述各种网页和目录的XML文件生成一个完整的网站. 注:有关XML的描述参见http:/ ...

  8. SQL-字符串合并

    create table tb(id int, value varchar(10))  insert into tb values(1, 'aa')  insert into tb values(1, ...

  9. C# 单例模式Lazy<T>实现版本

    非Lazy版本的普通单例实现: public sealed class SingletonClass : ISingleton { private SingletonClass () { // the ...

  10. Adam 演示demo内容整理

    在这个6个多G的演示demo中,还是发现了不少东西. 这篇文章八卦向的东西比较多,不过支持abc格式的话,做Cutscene一下子多了很多可以用的东西. 1.在插件目录下发现了ABC格式的导入dll. ...