【发布时间】:2012-09-29 10:34:03
【问题描述】:
重力:(x=0, y=EARTH)
我想做永久的弹跳球。例如,我将它设置为坐标 (200, 200),在它落到地面后,弹跳并返回到与 begin (200, 200) 相同的坐标。我试着玩密度、弹性、摩擦力,我得到了一些类似的行为,但正在改变。我google了很多,发现问题是由于四舍五入的浮动。问题:引擎中哪个值正在发生变化,在该值变得超过某个增量之后我需要重置哪个值?
第二个问题:为什么如果我这样设置固定装置:固定装置(密度 = 1,弹性 = 1,摩擦 = 0)它不会反弹到相同的高度,而是随着每次反弹而反弹?我将弹性设置为 0,981f
第三个问题:一个对象的夹具如何依赖于第二个对象的夹具? 例子: 球(1f, 0.6f, 1f) 墙(1f, 0.6f, 0f)
和
球(1f, 0.6f, 1f) 墙(1f, 0.6f, 0.5f)
会发生什么变化?
【问题讨论】:
-
您真的每次都需要精确相同的坐标还是球的动能+势能大致恒定?
-
我需要让球回到相同的高度(+/- 15 px 可能是错误的)看这里:Example
-
如果我是你,我会给身体弹性大于 1 并监控它的速度。如果身体的速度变得太大,监视器会减慢它的速度。这将使系统保持平衡 - 身体会不断获得一点能量,多余的能量会被修剪掉。
-
我明白了。也许您可以在球第一次接触地面之前测量速度,然后将其设置为最大速度而不是硬编码值。或者为不同的高度创建一个值表,并找出一个合适的函数,为每个高度提供正确的值。不过,根据游戏机制,横向速度可能会发挥作用。
标签: andengine game-physics elasticity