前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >cocos creator的box2d

cocos creator的box2d

作者头像
沙因Sign
发布2018-04-18 10:29:15
2K0
发布2018-04-18 10:29:15
举报
文章被收录于专栏:SignSign

本来是打算和前面一篇混在一起的,后来想了下,两个完全不相干的主题,放在一起不好,而且既然我的文章产出率这么低,不如拆成2篇,混一混更新频率……

首先就是,cocos creator在1.5的版本加入的box2d。

然后,我试着把跑酷游戏切换到box2d版本,效果感觉很糟,由于一些原因,图片先不放了。

后来又折腾了几天,打算把boo转为box2d试试。

不过,这里面坑太深了,按照官方的文档,及示例,看的云里雾里。

首先,你要了解box2d的机制,其次,你要了解cocos对box2d进行加工的逻辑……

本身camera就是一个简单的节点移动,很多用户大概要的是类似一个view框的东西。后来一看解释,官方的camera依然是节点移动。『那要你何用?』于是继续之前自己写的camera。

最后,我才明白,为什么box2d和camera组件是一起上的。

因为box2d的坐标系和cocos不一样……节点捆绑的逻辑也不同……

在cocos creator里制作box2d的组件还挺简单的:

在节点里,原先添加碰撞组件的地方,改成物理就好了。

其他的参数去官网查下,试了下,基本上就用Dynamic和Static就行了。

另外需要碰撞前开启下

var physicsManager = cc.director.getPhysicsManager();

physicsManager.enabled = true;

box2d里的重力默认是320/s

不需要重力或者想要修改这个值的话,设置

physicsManager.gravity = cc.v2();

另外,碰撞框的调试,只要开启这项就够了,其他的自己看情况改吧:

physicsManager.debugDrawFlags =

// 0;

// cc.PhysicsManager.DrawBits.e_aabbBit |

// cc.PhysicsManager.DrawBits.e_pairBit |

// cc.PhysicsManager.DrawBits.e_centerOfMassBit |

// cc.PhysicsManager.DrawBits.e_jointBit |

cc.PhysicsManager.DrawBits.e_shapeBit

;

想要鼠标拖拽效果的:

this.addComponent(cc.MouseJoint);

因为box2d是套完整的物理引擎,所以,基本上这些填好,然后在creator里把对应的物理组件加上,就可以了,没什么代码要写的。

当然,之后有其他的效果实现还是需要代码。不过省了自己写物理效果的一大段js。

另外,camera要配套使用,box2d里的物理刚体是不会随着父节点移动的。同时上线的camera里帮忙转换了坐标。用法:

在一个空节点下添加camera组件

camera里想要移动的节点填在targets里,然后自己再额外写个脚本,视角锁定在主角身上,就是脚本里的target:dolo……

话说这个都什么玩意……

总之不这么做的话,你自己就要自己去转换坐标,蛋疼。

另外官方对于targets和target的层级似乎有要求,他们需要在同一层级,但是我试了一下,把主角放在targets节点里,可以正常运行,放在外面不行。

最后放个demo吧,其实还是在犹豫用box2d还是自己之前写的那套物理规则。

『柯南』里有句台词:

『人们不是常说,祭典前的准备工作,比祭典本身更快乐吗?』

因为在准备祭典的时候,可以和伙伴一起探讨,对未来的祭典举行充满期待,抱有希望是件很好的事。

然而我现在一点都没有感觉快乐,大概是因为没法开展祭典吧,也就是说现在的快乐值是5,而真正开始祭典的时候,快乐值是3,所以祭典之前比较快乐…………

原文链接放box2d版的。http://ccx01.com/game/dolo_box2d/

之前一版 http://ccx01.com/game/boov3/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Sign 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档