如何使用UIDynamicAnimator避免动态变形
我有一个简单的类似俄罗斯方块的应用程序,我从视图顶部丢弃方形彩色标签,一旦它们与窗口底部边界相撞,它们就会堆积起来。
我正在使用iOS动态框架来模拟重力和碰撞。 我有两个问题:
当区域与底部边界碰撞时,我怎样才能完全消除弹跳效应? 我已经试图将碰撞行为的弹性设置为0(文档说这意味着根本不弹跳),但是集合体仍然反弹了一下。 所以我猜这至少是文档中的一个错误。 有人会建议尝试其他解决方法之前,有人可以证实这一点吗?
我尝试过的另一种技术是在物体开始碰撞时设置非常高的阻力,并在碰撞结束时将其重置为低阻力。 这种方法的问题在于,对于所有块通用的这种行为会导致其他下降块在底部发生碰撞时受到影响(并减缓)
第二个问题是关于如何阻止动画引擎在堆积时挤压块(模拟非完全刚性物体的真实世界重力效果)在我的应用程序中,我可以清楚地看到块未对齐,因为它们被上面块体的重量挤压。
我怎样才能避免这种行为? 我试图将密度设置为1,将弹性设置为0而没有运气。
我也注意到底部的一些块具有y坐标= 481,这意味着它们已经被推出父视图。 考虑到底部被认为是碰撞边界,这怎么可能?
上一篇: How to avoid dynamics deformation using UIDynamicAnimator
下一篇: UIKit Dynamics add gravity/collision/bounce to relocate a subview