首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Box2dWeb缺少ApplyLinearImpuse()和ApplyAngularImpulse()方法?

Box2dWeb缺少ApplyLinearImpuse()和ApplyAngularImpulse()方法?
EN

Stack Overflow用户
提问于 2012-12-14 20:33:39
回答 1查看 300关注 0票数 2

我一直在尝试掌握来自XNA / Farseer背景的HTML5游戏编写。

box2dweb似乎缺少ApplyLinearImpuse()和ApplyAngularImpulse()方法。

我甚至看过here的源代码,看起来就是这样。

有人知道为什么没有提供这些方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-03 09:37:48

刚才我也需要同样的东西。幸运的是,实现或ApplyAngularImpulse非常简单。您可以将以下代码添加到代码中,以将其修补到box2d中:

Box2Dweb

代码语言:javascript
复制
b2Body.prototype.ApplyAngularImpulse = function(impulse) {
    if (this.IsAwake() == false) {
        this.SetAwake(true);
    }
    this.m_angularVelocity += this.m_invI * impulse;
};

Box2Djs

代码语言:javascript
复制
b2Body.prototype.ApplyAngularImpulse = function(impulse) {
    if (this.IsSleeping() == false)
    {
        this.m_angularVelocity += this.m_invI * impulse;
    }
};

一般来说,要获得C++版本中还没有移植到Flash或JavaScript版本中的功能,你可以看看the original source,然后像上面那样把它们移植到自己身上。即使您不熟悉C++,代码也很容易理解。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13878789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档