首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用UIDynamicAnimator避免动态变形

如何利用UIDynamicAnimator避免动态变形
EN

Stack Overflow用户
提问于 2014-06-15 13:17:05
回答 1查看 194关注 0票数 0

我有一个简单的像俄罗斯方块一样的应用程序,我把方形的彩色标签从视图的顶部放下,一旦它们与窗口的底部边框相撞,它们就会堆积起来。

我使用iOS动力学框架来模拟重力和碰撞。我有两个问题:

  1. 当块体与底部边界碰撞时,如何才能完全消除弹跳效应?我尝试过将碰撞行为的弹性设置为0(文档中说这意味着根本没有弹跳),但是这些块仍然有一点反弹。所以我想这至少是文档中的一个错误。在有人建议尝试其他解决办法之前,有人能证实这一点吗? 我尝试过的另一种技术是在物体开始碰撞时设置一个非常高的电阻,并在碰撞结束时将其重置为低电阻。这种方法的问题在于,这种行为对于所有的块体来说都是通用的,每次在底部发生碰撞时,都会导致其他滑块受到影响(并减速)。
  2. 第二个问题是,在我的应用程序中,我如何阻止动画引擎挤压积木(模拟重力对非完全刚体的真实影响),我可以清楚地看到,这些块没有对齐,因为它们被上面的块的重量挤压了。 我怎样才能避免这种行为?我试着把密度设为1,弹性设为0,但没有运气。 我还注意到,底部的一些块的y坐标= 481,这意味着它们被从父视图中推开了。既然底部被认为是碰撞边界,这怎么可能?
EN

回答 1

Stack Overflow用户

发布于 2014-11-28 07:34:21

  1. 要消除弹跳效果,您需要添加一个UIDynamicItemBehavior到您的动画。并将UIDynamicItemBehavior上的属性“弹性”设置为0。您还可以将UIDynamicItemBehavior上的“电阻”属性设置为1或最大值CGFLOAT_MAX。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24229968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档