2015-04-28 67 views
1

我想一旦加載字體,並將其用於其他sklabel節點如何緩存或預加載SKLabelNode字體在spritekit

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

後來

var labelNode = originalLabel; 
var labelNodeSecond = originalLabel; 

但提供了以下錯誤

試圖添加已具有父級的SKNode:SKLabelNode

回答

2

您可以通過初始化UIFont設置字體一次:

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

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

這樣的話,你只設置字體一次,SKLabelNodes不必通過自理加載它。

+0

感謝Christian這個小遊戲讓遊戲速度提高了40倍,因爲我創建了8個sklabelnodes,即使字體名稱正確也很慢!再次感謝您的幫助 – grape1