我可以为SKSpriteNode添加边框,类似于UIView吗?

Ale*_*one 8 cocoa-touch border ios sprite-kit

我有兴趣是否SKSpriteNode可以模仿UIView我可以指定边界和角半径的行为?

self.view.layer.borderColor = [UIColor lightGrayColor].CGColor;
self.view.layer.borderWidth = 2;
self.view.layer.cornerRadius = 2;
self.view.layer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)

Cod*_*der 8

以下是一个简单的dropin扩展SKSpriteNode,它将允许您在节点周围绘制具有给定颜色的边框。

import SpriteKit

extension SKSpriteNode {
    func drawBorder(color: UIColor, width: CGFloat) {
        let shapeNode = SKShapeNode(rect: frame)
        shapeNode.fillColor = .clear
        shapeNode.strokeColor = color
        shapeNode.lineWidth = width
        addChild(shapeNode)
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 当我将 shapeNode 设置为 `let shapeNode = SKShapeNode(rectOf: size)` 时有效 (3认同)

Lea*_*s2D 5

不是原生的。尽管您可以将 SKShapeNode 添加为path您使用CGPathCreateWithRoundedRect.