【发布时间】:2015-12-02 17:15:38
【问题描述】:
我实现了一个简单的物理来反弹sprite node,除了节点在顶部和底部从屏幕反弹之外,一切正常。对于侧面来说很好,但它在顶部和底部视图中脱离了屏幕.
这里是视图:
如您所见,我的球从底部的屏幕上飞出,完美地接触到其他三个侧面。
这是因为,我对以下内容进行了更改:
self.physicsBody=[SKPhysicsBody bodyWithEdgeLoopFromRect:CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width, self.frame.size.height-100)];
如果我使用scene frame,那么球会在顶部和底部都离开屏幕,但它会反弹。
self.physicsBody=[SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
我的问题是为什么self.frame 不足以设置scene physicsBody 的界限?
当我像这样设置边界时,唯一对我有用的条件:
self.physicsBody=[SKPhysicsBody bodyWithEdgeLoopFromRect:CGRectMake(self.frame.origin.x, self.frame.origin.y+100, self.frame.size.width, self.frame.size.height-200)];
【问题讨论】:
-
你改变了球的锚点吗?
-
不,我没有改变锚点。我什至没有碰它。默认锚点是什么?
标签: ios objective-c skspritenode skphysicsbody skscene