是否可以根据它与另一个物体的SKSprite
接触PhysicsBody
位置计算不同的碰撞状态?例如,如果一个蓝色球接触到另一个物体的侧面就会变成绿色,或者如果它接触到另一个物体的底部就会变成黄色。
问问题
74 次
2 回答
1
好像现在我还没有找到任何具体的东西来回答你的问题,但我可以给你一个解决方法,即首先使用didBeginContact
委托来检测身体的碰撞并使用
contact.contactPoint
属性来找出接触点。
您可以做的是检查接触点在身体下方或身体左侧的逻辑,然后根据需要转动颜色。
- (void)didBeginContact:(SKPhysicsContact *)contact {
CGPoint pointOfContact= contact.contactPoint;
//this is just an example.. change the condition as per your need
if(pointOfContact.x>yourSpritePosition.frame.position.x&&pointOfContact.y>yourSpritePosition.frame.position.y){
//your color change logic
}
}
我希望这可以解决您的问题。
于 2014-03-27T18:23:03.447 回答
0
您可以将您的精灵与子精灵分开,您可以为它们设置不同的逻辑。
于 2014-03-28T09:50:21.020 回答