【问题标题】:Add physicsbody to node in spritekit editor在 spritekit 编辑器中将物理体添加到节点
【发布时间】:2015-05-02 01:49:04
【问题描述】:

在xcode 6.3.1的spritekit编辑器中,我找不到将physicsbody添加到节点的方法,因为physicsbody是节点的属性,这没有意义吗?所以,有人可以告诉我怎么做。谢谢。

【问题讨论】:

  • 你考虑过用代码添加物理体吗?
  • 是的,代码没问题。但是我的场景中有很多节点,只有物理体没有图像,如果我可以使用 spritekit 编辑器,那将减少很多工作。

标签: xcode6 sprite-kit


【解决方案1】:

您可以编写一个方法来创建通用 SKSpriteNodes 并返回它们。

-(SKSpriteNode *)createInvisibleNodeWithSize:(CGSize)nodeSize {
    SKSpriteNode *myNode = [SKSpriteNode spriteNodeWithColor:[SKColor clearColor] size:nodeSize];
    myNode.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:self.size];
    // set up rest of physics body properties

    return myNode;
}

-(void)myMethod {
    SKSpriteNode *someNode = [self createInvisibleNodeWithSize:CGSizeMake(100, 100)];
    [self addChild:someNode];
}

【讨论】:

  • 谢谢,是的,我可以从代码中添加节点。但是由于我有数百个不同位置的不可见节点,如果我可以在场景编辑器中编辑并在代码中加载 sks 文件,那么我可以使用一行代码将它们添加到场景中。现在,我只是添加一个透明图像作为精灵的纹理,但这很奇怪,因为物理体是节点的属性,为什么我不能在 spritekit 编辑器中编辑它,但是对于精灵,我可以,所以我想知道也许我没有找到正确的方法。
【解决方案2】:

您似乎正在使用场景编辑器,并且您已经有一些精灵。

要添加物理体,你需要按照这种方式:

  1. 选择你的节点
  2. 打开“实用程序”面板(Xcode 中的右侧面板)
  3. 在其中打开“属性检查器”(第三个选项)
  4. 选择“物理定义”部分->“体型” 您在这里有 3 个选项:
    • 边界矩形
    • 边界圆
    • Alpha 蒙版
  5. 选择必要的类型。在大多数情况下,您需要“边界矩形”或“边界圆”。
  6. 填充额外的物理属性(如摩擦、恢复等)。选择“Body Type”选项后,这些道具将可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多