我有一个单星的.png图像。我想用这个图像创建一个充满星星的动画字母。这就是我想要做的事情(但是星星在这里会有一些动画,我想这可以用粒子效果来完成):
我是否可以通过为每个字母使用可能的几个sks文件然后将它们加载到一个更大的场景中来实现这一点?另外,如果我只是想用几颗恒星的静态纹理填充标签节点,还有另一种方法吗?
答案 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)
}
}
我认为代码是不言自明的,但基本上,你只需使用文本作为裁剪节点的掩码,然后屏蔽一个发射器。结果如下:
这个实现的事情是,闪光不会超出字母边界。