IOS Spritekit:圆形轮廓未显示

Posted

技术标签:

【中文标题】IOS Spritekit:圆形轮廓未显示【英文标题】:IOS Spritekit: Circle outline not showing 【发布时间】:2014-10-15 04:21:11 【问题描述】:

在下面的黄色圆圈没有显示在 ios 模拟器中。如果我添加当前已注释掉的 setFillColor,则会得到一个红色圆圈。

为什么不显示形状的轮廓? 有没有办法触发大纲?

-(void)addTargetNode2 
    float radius=90;
    SKShapeNode *targetOuter = [SKShapeNode shapeNodeWithCircleOfRadius:radius];
    //[targetOuter setFillColor:[UIColor redColor]];
    [targetOuter setStrokeColor:[UIColor yellowColor]];
    [targetOuter setLineWidth:1];

    //Position the node.
    targetOuter.position = CGPointMake(CGRectGetMidX(self.frame),
                                      CGRectGetMidY(self.frame));

    [self addChild:targetOuter];

我确实找到了 this 文章 - 但没有答案。

编辑: 我有一个工作解决方法......但不是特别喜欢它。在一个实心圆圈的顶部绘制一个背景颜色的圆圈:

-(void)addTarget 
    float radius=50;
    CGFloat borderWidth=3;

    //Draw the Circle.
    SKShapeNode *targetOuter = [SKShapeNode shapeNodeWithCircleOfRadius:radius];
    [targetOuter setName:@"targetOuter"];
    [targetOuter setFillColor:[UIColor yellowColor]];
    //Following line should set the outline color but isn't working.
    //[targetOuter setStrokeColor:[UIColor yellowColor]];
    [targetOuter setLineWidth:1];
    targetOuter.position = CGPointMake(CGRectGetMidX(self.frame),
                                      CGRectGetMidY(self.frame));        
    [self addChild:targetOuter];

    /* Work around
     Add a circle the color of the background to emulate an outline.
     Can be removed in targetOuter outline works.
    */
    SKShapeNode *targetInner = [SKShapeNode shapeNodeWithCircleOfRadius:radius-borderWidth];
    [targetInner setFillColor:self.backgroundColor];
    targetInner.position = targetOuter.position;
    [self addChild:targetInner];

【问题讨论】:

【参考方案1】:

iOS 模拟器和 SKShapeNode 似乎存在错误。我已经能够在模拟器上复制此问题,但从未在设备上复制过,因此您不必担心添加解决方法。

iOS 模拟器可以很好地测试低帧率条件和不同的屏幕尺寸,但除此之外,对 SpriteKit 游戏的整体测试不是很可靠。

【讨论】:

谢谢 - 唉,我还不是获得许可的开发人员(还),所以无法在硬件上进行测试。感谢您确认它仍然适用于硬件。我会继续前进,看看它是否在未来得到修复。 看起来已经修复了。我现在正在运行 xcode 6.1,它正在工作。问题出在 xcode 6.0 上。

以上是关于IOS Spritekit:圆形轮廓未显示的主要内容,如果未能解决你的问题,请参考以下文章

在我的 swift SpriteKit 游戏中,物理体的轮廓通过所有其他节点显示

在 Spritekit 中扩展圆形切口过渡效果

iOS:变色圆形按钮

如何优化此代码以仅显示圆形数组的轮廓?

Google Material 图标、轮廓、圆形、双色调、锐利集不起作用

iOS:为啥自定义标签栏项目仅显示为灰色轮廓?