Как кэшировать или предварительно загружать шрифт SKLabelNode в спрайтекит

Я хочу загрузить шрифт один раз и использовать его для других узлов sklabel

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

и позже

var labelNode = originalLabel;
var labelNodeSecond = originalLabel;

но это дает следующую ошибку

Попытка добавить SKNode, у которого уже есть родитель: SKLabelNode

1 ответ

Решение

Вы можете установить шрифт один раз, инициализируя UIFont:

let yourFont = UIFont(name: "yourfontName", size: 17)

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

Таким образом, вы устанавливаете шрифт только один раз, и узлы SKLabelNode не должны загружать его самостоятельно.

Другие вопросы по тегам