如何在 spritekit 中缓存或预加载 SKLabelNode 字体

How to cache or preload SKLabelNode font in spritekit

我想加载一次字体并将其用于其他 sklabel 节点

let originalLabel: SKLabelNode = SKLabelNode(fontNamed: "fontName");

以后

var labelNode = originalLabel;
var labelNodeSecond = originalLabel;

但是会出现以下错误

试图添加一个已经有父节点的 SKNode:SKLabelNode

您可以通过初始化一个 UIFont:

来设置一次字体
let yourFont = UIFont(name: "yourfontName", size: 17)

var firstLabel = SKLabelNode(fontNamed: yourFont?.fontName) 
var secondLabel = SKLabelNode(fontNamed: yourFont?.fontName)

这样,你只需要设置一次字体,SKLabelNodes 就不用自己加载了。