2013-08-29 25 views
0

我有一个关于物理对象的问题。我有场景,屏幕上有一堆物理对象,对象是圆圈。这些对象分为两层。所以当我有100个圆圈时,50个在底层,50个在顶层。通过这个我创造了一个深度效应。意思是大多数底层的物体都有模糊,并且较小。这两个层不会相互影响,碰撞只发生在同一层中的同一个对象上。物理对象切换层

所以这里是踢球者。我希望对象切换图层,因此圆圈会随机上下移动。这一点我没有问题,问题在于当底层物体位于最上层或最底层物体下方时,底层物体向上移动时,您会发生跳跃运动。物理对象必须腾出空间来显示不出现在哪里的新对象。

问题是,我该如何防止这种跳跃运动?我想通过平滑地移动新对象,让最上面的对象为新对象腾出空间。

回答

1

不是你正在使用的3d库中的哪一个,而是作为一个抽象:将所有的圆都保存在视图的同一图层中,但是在代码中,将它们放在两个单独的数组中。当你切换状态时,你在两个数组上执行循环,比如“这个数组中的所有圆圈都是顶部和去模糊”以及“他阵列中的所有圆圈都是底部模糊的”。你应该学习MVC模式来更好地构建你的项目。你不会相信你用它避免的头痛的数量。纯粹的MVC是有点过时,但它很好。你可能会发现一个3D MVC的实现,但我怀疑它会增加任何基本的东西。

+0

你描述的一切我已经完成了。英雄所见略同。 – Banzboy

+0

我不明白跳跃动作的意思。使用jinx记录正在发生的事情,我们可能会更好地理解。 – Discipol