Sprite Kit 中的 iOS 圆圈和线条

标签 ios sprite-kit

我想画一个圆和一条从圆心开始的线,它的长度也是圆半径的两倍

我的输出是画一个圆,旁边有一条线。

- (void)setupMainBall {
    mainBall = [self makeMainBall];
    mainBall.position = CGPointMake(self.size.width / 2, self.size.height / 2);
    mainBall.zPosition = 3;

    [self addChild:mainBall];
    [mainBall addChild:[self makeCanon]];
}

-(SKShapeNode *)makeMainBall {
    SKShapeNode *theMainBall = [[SKShapeNode alloc] init];
    CGMutablePathRef myPath = CGPathCreateMutable();
    CGPathAddArc(myPath, NULL, 0, 0, 10, 0, M_PI*2, YES);

    theMainBall.fillColor = [SKColor blueColor];
    theMainBall.path = myPath;
    theMainBall.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:theMainBall.frame.size.width / 2];

    return theMainBall;
}

-(SKSpriteNode *)makeCanon {
    canon = [SKSpriteNode spriteNodeWithColor:[SKColor blackColor] size:CGSizeMake(3, 20)];
    canon.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:canon.frame.size];
    return canon;
}

最佳答案

尝试:

SKSpriteNode *canon = [self makeCannon];
[mainBall addChild:canon];
canon.position = CGPointMake(mainBall.size.width / 2, mainBall.size.width /2);

关于Sprite Kit 中的 iOS 圆圈和线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21841860/

相关文章:

ios - 将 pagecontroll 放在前面

ios - 如何在 CALayer 上进行转换?

swift - 有什么方法可以在 swift/SpriteKit 中从父项中删除单个/特定子项?

ios - 如何使用 Swift 2 (SpriteKit) 以编程方式添加要查看的对象?

ios - 如何使用 Sprite 套件中的SKEmitterNode来实现 "fog of war"效果?

ios - 呈现/呈现 View Controller 和父/ subview Controller 之间的交互是否在任何地方记录?

ios - 添加 scheduledTimerWithTimeInterval 时,NSTimer 不触发选择器

ios - 如何修复 Nil 与预期参数类型 'UIColor' 不兼容

ios - objective-c - 获取数据(核心数据)

ios - Alpha 高于父节点的子节点