- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在屏幕上有几个圆圈,放置在不同的位置(所有动态 box2d 主体)。
我想添加另一个圆,初始速度为 x, y
.我想让这个 body 自由移动,好像没有重力一样。使所有碰撞具有 100% 弹性。
我尝试将弹性设置为 1,但是如果我从顶部放下它,它就不会再次接触到天花板。我希望它继续朝着它设置的方向移动,除非碰撞改变方向 .
为了进一步解释这一点,我想要的一个简单实现是在方形容器中,带有圆形主体。
when collides ->
set body.velocityX to -body.velocityX
set body.velocityY to -body.velocityY
最佳答案
除了设置弹性之外,您还需要将主体的阻尼设置为 0,以消除您现在看到的速度降低效果。
From the Box2d manual :
Damping is used to reduce the world velocity of bodies. Damping is different than friction because friction only occurs with contact.Damping is not a replacement for friction and the two effects shouldbe used together.
Damping parameters should be between 0 and infinity, with 0 meaning no damping, and infinity meaning full damping.
...
bodyDef.linearDamping = 0.0f;
bodyDef.angularDamping = 0.01f;Damping is approximated for stability and performance. At small damping values the damping effect is mostly independent of the timestep. At larger damping values, the damping effect will vary with thetime step. This is not an issue if you use a fixed time step(recommended).
关于box2d - 使 box2d 对象的速度永不改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11657560/
我是一名优秀的程序员,十分优秀!