使用粒子效果或动画sks文件创建填充字母

时间:2017-04-12 17:47:38

标签: swift sprite-kit

我有一个单星的.png图像。我想用这个图像创建一个充满星星的动画字母。这就是我想要做的事情(但是星星在这里会有一些动画,我想这可以用粒子效果来完成):

enter image description here

我是否可以通过为每个字母使用可能的几个sks文件然后将它们加载到一个更大的场景中来实现这一点?另外,如果我只是想用几颗恒星的静态纹理填充标签节点,还有另一种方法吗?

1 个答案:

答案 0 :(得分:3)

不理想,但很容易实现:

override func didMove(to view: SKView) {

        if let nodeToMask = SKEmitterNode(fileNamed: "firelfies") {

            backgroundColor = .black
            let cropNode = SKCropNode()
            cropNode.position = CGPoint(x: frame.midX, y: frame.midY)
            cropNode.zPosition = 1

            let mask = SKLabelNode(fontNamed: "ArialMT")
            mask.text = "MASK"
            mask.fontColor = .green
            mask.fontSize = 185

            cropNode.maskNode = mask

            nodeToMask.position = CGPoint(x: 0, y: 0)
            nodeToMask.name = "character"
            cropNode.addChild(nodeToMask)

            addChild(cropNode)
        }  
    }

我认为代码是不言自明的,但基本上,你只需使用文本作为裁剪节点的掩码,然后屏蔽一个发射器。结果如下:

enter image description here

这个实现的事情是,闪光不会超出字母边界。