Egret社区

关于在egret中使用box2d的问题

2014-8-14 17:34
310613
2银子
本帖最后由 linux_fay 于 2014-8-14 17:37 编辑

从论坛的帖子中找到了这个开源的库https://github.com/ilyagolota/Box2D-Typescript,然后导进去,引用。但是编译的时候出问题了。  根据错误信息,我在所有module之前加了个declare 改成 类似  declare module Box2D.Common   继续报错了,发现是bool的问题,把bool全部改成boolean。终于编译成功了,以为就此走上了box2d的阳光道!!!但是 万万没想到。在碰撞检测的时候出了问题,发生了碰撞,但没停下来!问问论坛中的诸位有没有使用过box2d的,分享一下经验,让后人能更容易在egret中使用box2d具体代码如下:


修改后的Box2d.d.ts已上传到附件中,包括以下的代码,即整个demo。 FunnyJump.zip (743.56 KB, 下载次数: 20)

分享到 :
0 人收藏

13 个回复

倒序浏览
linux_fay  登堂入室 | 2014-8-14 20:00:47
有没有懂的大大现身一下啊~~~~~~
linux_fay  登堂入室 | 2014-8-15 08:59:42
Wander大神,听说你有研究过box2d,能否帮忙看看这个问题,谢谢!!!!
ladeng6666  斑竹 | 2014-8-15 10:03:32
帧频是多少?box2D中,step()函数的第一个参数通常设置为1/fps
例如帧频是30,那么应该是
  1. step(1/30,8,8);
复制代码
ladeng6666  斑竹 | 2014-8-15 10:03:37
帧频是多少?box2D中,step()函数的第一个参数通常设置为1/fps
例如帧频是30,那么应该是
  1. step(1/30,8,8);
复制代码
linux_fay  登堂入室 | 2014-8-15 10:38:19
ladeng6666 发表于 2014-8-15 10:03
帧频是多少?box2D中,step()函数的第一个参数通常设置为1/fps
例如帧频是30,那么应该是
...

感谢回复,我现在设置成
  1. this.world.step(1/this.scaleCount,8,8);
复制代码
还是一样,碰到了,没有停下来,不知道是不是哪里漏了什么?
linux_fay  登堂入室 | 2014-8-15 10:46:51
ladeng6666 发表于 2014-8-15 10:03
帧频是多少?box2D中,step()函数的第一个参数通常设置为1/fps
例如帧频是30,那么应该是
...

原来是拉登大神!!!早已久仰拉登大名,帮小弟看看,深知你对box2d颇有研究,并封装了很多类供大家学习!值得敬仰!!!!
linux_fay  登堂入室 | 2014-8-15 13:59:47
ladeng6666大神,求教!
ladeng6666  斑竹 | 2014-8-15 14:42:04
本帖最后由 ladeng6666 于 2014-8-15 17:09 编辑
linux_fay 发表于 2014-8-15 13:59
ladeng6666大神,求教!

给Fixture加上density和restitution试试
  1.         heroFTD.density=2;
  2.         heroFTD.restitution = 0.2;
复制代码

我研究了半天,是不是你的Box2D有问题啊?我这里加上这两句代码,updateGame里得到的刚体坐标就是NAN
7yue  官方团队 | 2014-8-15 16:26:59
感谢分享,目前box2dweb是在egret里的版本,不是box2d。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部