使用SpriteKit中的SKPhysicsBody调整SKSpriteNodes的大小

时间:2015-01-09 15:36:22

标签: ios resize sprite-kit skphysicsbody skaction

我想知道在SpriteKit中用SKPhysicalBody调整SKSpriteNode大小的合适方法是什么。起初我以为我可以使用SKActions做resizeToX / Y,这样可行。我尝试这样做:

SKAction *action = [SKAction resizeToY:whateverFloat completion:^{
   SKPhysicalBody *newBody = [SKPhysicalBody bodyWithRectangleOfSize:spriteNode.size];
   spriteNode.physicalBody = newBody;
}];

注意:我从内存中输入了这个,而不是确切的代码,所以请忽略语法错误。我也尝试移动变量,以防万一发生了什么。例如,我尝试在完成块之外实例化newBody。我尝试在完成块之外分配newBody。我试图再次更新categoryBitMask和所有相同的contactBitMasks。什么都行不通。

我最接近工作的是当我没有添加新的physicalBody时,SKSpriteNode会调整大小,但它的physicalBody会保持不变。如果我添加一个新的physicalBody,整个SKSpriteNode就会消失。我不明白。

在使用SKAction在线搜索解决方案之后,我发现许多不同的主题说“SKActions”不适用于物理学。避免混合它们。"如果我必须避免混合它们,那么我如何以正确的方式增长和缩小SKSpriteNode并更新其物理身体同时摆脱它的旧身体? SpriteKits物理学中的物理和碰撞逻辑在我的游戏中非常重要。

0 个答案:

没有答案
相关问题