在 swift 上使用带有 SKLabelNode 的 runAction 时滞后

Lag using runAction with a SKLabelNode on swift

我在应用程序中多次使用此功能时遇到延迟问题...

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 已被声明为全局但它是相同的...在第一次执行时总是有延迟。

您需要在开始时使用固定字体设置标签的字体。

像那样:

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

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

否则,您的字体会在第一次使用时加载,而不是在应用程序启动时加载。