问题标签 [restitution]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1201 浏览

implementation - 如何将恢复系数实现到一个简单的物理引擎中?

我正在编写一个支持圆-圆碰撞的简单 2d 物理引擎,但我不知道如何改进我的碰撞解决方法以增加恢复原状。物理引擎中如何实现恢复系数属性?

0 投票
2 回答
1950 浏览

c# - 在碰撞解决方法中应用恢复系数

我的物理引擎中有一个碰撞解决方法,如下所示:

现在,我无法弄清楚在我的引擎中应用什么来获得适当的恢复系数。(???部分)。有人可以帮忙吗?

0 投票
2 回答
2087 浏览

ios7 - SKSpriteNode 不应该弹跳

我正在使用新的 API Sprite Kit 开发 2D 游戏。问题是,虽然将精灵节点的恢复设置为 0,但它会反弹一点。我怎样才能完全禁用弹跳?

0 投票
1 回答
894 浏览

box2d - 恢复原状为 0 的 SKPhysicsBody 仍然弹跳

我正在尝试以恒定的速度放下 SKSpriteNode 而不会弹跳。

这是我正在使用的代码:

当我改变恢复值时,我可以看到块反弹的差异,但是当它为零时,它仍然会反弹一点。当多个块堆叠时,下面的块也会反弹一点。

我怎样才能完全禁用弹跳?

0 投票
0 回答
153 浏览

ios - 边界恢复/弹性不起作用(快速编程)

请原谅命名约定以及我在代码中缩进和创建新空格的方式我知道这不正常但我很奇怪 D:

无论如何,我将我的恢复原状设置为 1,但它似乎不起作用,所以我什至尝试了 1.0,看看我是否必须这样做,但它不起作用。我指的是从边界/框架反弹的对象。

我也不能做 CGVectorMake,因为我使用的 swift 不允许它。有人有任何有用的提示吗?

我唯一的想法是改变框架本身的重力,但我尝试的一切都不起作用。谢谢!

0 投票
1 回答
253 浏览

ios - 恢复原状不适用于 SpriteKit 中的任何内容

我尝试创建位掩码类别,将所有恢复值设置为 1 以及阳光下的所有其他内容,包括在设备上运行应用程序,但它仍然无法正常工作。在设置一个 SKSpriteNode 与 retitution 1 以在 dx: 100 处击中另一个 skspritenode 后,它仍然没有反弹!这是我的 GameScene.swift 代码:

PS 大部分物理都在 GameScene.sks 而不是 GameScene.swift 中,但这是位掩码所在的位置。

编辑:

球配置;

位置 x:0, y:0, z:0,

旋转:0,

尺寸:宽:25,高:25,

锚点:x:0.5, y:0.5,

白颜色,

混合因子:0,

混合模式:阿尔法,

阿尔法:1,

Ik 约束:最小:0,最大:360,

比例尺:x:1,y:1,

物理

身体类型:边界矩形,

仅动态检查,

摩擦力:0,

归还:1,

线性阻尼:0,

角阻尼:0,

类别、碰撞和现场掩码:4294967295,

接触面罩:0

初始速度:dx:100 dy:0

桨是相同的物理明智请帮助!

0 投票
1 回答
97 浏览

box2d - Box2D 是否已移除“恢复原状”?

我不是一个大用户,但发现 BOX2D 为创建逼真的 LED 灯效果奠定了基础。迭代时间不是一个大问题,因为我并没有试图实现场景真实感。一段时间以来,我运行了一个程序来生成喷泉效果。它在Python2.7.12,Ubuntu下运行,但我不知道Box2D的版本。

现在我想在 RaspberryPi 上运行相同的程序,理想情况下是在 Python3 下但目前在 Python2.7.12 下。

代码在定义“恢复”时失败:

错误是废话,废话...

当然,代码稍后也可能会失败,但是当我注释掉有问题的语句时,它似乎可以一直运行到完成。

我的问题是如何诊断问题?

PS。Ubuntu上的原始安装工作正常,但是当我进入Python shell“body.restitution”时,我得到了回报:

AttributeError:“b2Body”对象没有属性“restitution”

那么在这个(工作)案例中存储的字段在哪里。

0 投票
0 回答
33 浏览

swift - 仅针对 SpriteKit 中的特定对象恢复原状

我目前正在使用 SpriteKit 制作足球(足球)游戏,但遇到了一个小问题。当角色(玩家)跳跃时,我不希望他们在落地后弹跳(这看起来很奇怪,也不太现实)。

美好的!只需将地面恢复为零!

但不是那么快......这意味着球也不会反弹。

以下是我的代码的重要部分:

继续,在didMove(to view: SKView)我定义我的对象的一些属性:

至于碰撞检测本身,我只是使用didMove(_ contact: SKPhysicsContact)它,它工作得很好。

现在,我当然有一个玩家 2 ( p2),但该精灵与玩家 1 ( ) 具有完全相同的代码,p1除了cType.p2更改为cType.p1,反之亦然。

我也有一些代码ground.physicsBody?.restitution = 0.5,但这当然会将任何与地面碰撞的精灵设置为 0.5。这是我真的不确定的地方。所以我的问题是:我怎样才能确保球在落地时反弹(恢复 0.5),但我的球员(p1,p2)却没有?