这个目标是临时的禁用距离关节(distance joint)。

不幸的是,你只可以无效化(通过删除的方式)一个关节。

所以,你必须通过代码创建一个新的距离关节实例并且赋予它之前删除关节(在SpriteBuilder中创建的)同样的属性值。

做以上操作最简单的方法是保持一个关节的引用,甚至在它已经被无效化后。这可以通过简单的不在其ivar上使用__weak关键字来达成。

使得_lockJoint成为一个强引用,这意味着该ivar引用的关节直到SpringBoard实例自身销毁(deallocate)后才会销毁。

05-06 22:23