2015-04-25 4 views
2

Я имею проблему задержки с этой функцией, которая используется много раз в моем приложении ...Лаг с использованием runAction с SKLabelNode на быстрой

plusOne(scorelabel.position,plus: 1) 

И:

func plusOne(position: CGPoint, plus : Int) { 

     myLabel.setScale(1) 
     myLabel.text = "+"+String(plus) 
     myLabel.position = position 
     myLabel.hidden = false 

     let action1 = SKAction.scaleTo(2, duration: 0.5) 
     let action2 = SKAction.fadeOutWithDuration(0.5) 
     let actionGroup = SKAction.group([action1,action2]) 

     myLabel.runAction(actionGroup,completion: { 
      self.myLabel.hidden = true 
     }) 


    } 

в первый раз я использую функцию plusOne, всегда заставляю мое приложение зависнуть на некоторое время ...

Я не знаю, хорошо ли я это делал ... myLabel объявлен глобальным, но это то же самое ... всегда с запаздыванием первое исполнение.

+0

Вы задаете шрифт своей метки? – Christian

+0

Да. Я использовал myLabel = SKLabelNode (fontNamed: "xxx"), myLabel.fontColor = xxx, myLabel.fontSize = xxx, myLabel.hidden = true, self.addChild (myLabel), все в функции «didMoveToView». – ChristLarsen

ответ

2

При запуске необходимо установить шрифт вашей метки с исправлением шрифта.

Как что:

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

var myLabel = SKLabelNode(fontNamed: yourFont?.fontName) 

В противном случае, ваш шрифт загружается при первом использовании, а не на приложение-старт.