首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SKAction标度physicsBody

SKAction标度physicsBody
EN

Stack Overflow用户
提问于 2013-11-05 00:03:04
回答 1查看 1.2K关注 0票数 5

我真的不知道从哪里开始。我有一个圆圈的图像存储在一个SKSpriteNode和一个physicsBody,它反映了创建时的大小。

我使用一个SKAction来缩小图像的大小,而physicsBody保持相同的大小。我如何缩小physicsBody的规模?

我的代码:

代码语言:javascript
复制
SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"whiteball"];

    sprite.size = CGSizeMake(20, 20);
    sprite.position = CGPointMake(dx, CGRectGetHeight(self.frame)-dy);
    sprite.name = @"ball";
    sprite.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:sprite.size.width/2];

    [self addChild:sprite];

    SKNode *ballNode = [self childNodeWithName:@"ball"];

    if (ballNode != Nil){
        ballNode.name = nil;

        SKAction *delay = [SKAction waitForDuration:3];
        SKAction *scale = [SKAction scaleTo:0 duration:1]; // I want this to scale the physicsBody as well as the spriteNode...
        SKAction *remove = [SKAction removeFromParent];

        //put actions in sequence
        SKAction *moveSequence = [SKAction sequence:@[delay, scale, remove]];

        //run action from node (child of SKLabelNode)
        [ballNode runAction:moveSequence];
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-27 22:28:33

如果你把物理体的大小设置为圆圈的大小,你就可以达到你所追求的目标。

代码语言:javascript
复制
_circle = [SKSpriteNode spriteNodeWithImageNamed:@"cirlce"];
_circle.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:_circle.size.width/2];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19779628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档