1

是否可以根据它与另一个物体的SKSprite接触PhysicsBody位置计算不同的碰撞状态?例如,如果一个蓝色球接触到另一个物体的侧面就会变成绿色,或者如果它接触到另一个物体的底部就会变成黄色。

4

2 回答 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 回答