ios – SKLabelNode延迟应用程序启动

ios – SKLabelNode延迟应用程序启动,第1张

概述目前我正在使用SpriteKit编写一个小应用程序,它工作得非常好,但唯一的问题是SKLabelNode,我使用以下正常代码初始化: ​self.scoreLabel = [SKLabelNode labelNodeWithFontNamed:@"Futura"];self.scoreLabel.fontSize = 190.0f;self.scoreLabel.color = [SKColo 目前我正在使用SpriteKit编写一个小应用程序,它工作得非常好,但唯一的问题是SKLabelNode,我使用以下正常代码初始化:
​self.scoreLabel = [SKLabelNode labelNodeWithFontnamed:@"Futura"];self.scoreLabel.FontSize = 190.0f;self.scoreLabel.color = [SKcolor whitecolor];self.scoreLabel.Alpha = .2;self.scoreLabel.text = @"00";self.scoreLabel.position = CGPointMake(screenWIDth/2,self.scoreLabel.frame.size.height/2);[self addChild:self.scoreLabel];
@H_403_4@还有很多东西可以初始化,但它们不会影响任何东西.如果我注释掉上面的代码,应用程序会在平时加载.使用SKLabelNode,它可以将负载延迟几秒钟……

@H_403_4@希望有人能帮助我.

解决方法 您需要预先加载字体,以便在第一次调用SKScene sprite套件时已经在内存中准备好了字体.执行此 *** 作的最佳方法是在游戏生命周期中尽快使用应用程序委托或单身人士.
self.scoreLabel = [SKLabelNode labelNodeWithFontnamed:@"Futura"];self.scoreLabel.text = @"preload";
@H_403_4@您不需要将标签设置为全局标签,只需确保您有一个强引用,让编译器知道您希望它将字体保留在内存中.另外,请确保设置text属性(仅在设置时加载字体).

@H_403_4@编辑:

@H_403_4@这就是我正在使用的:

- (voID)setupFonts {    SKLabelNode *preloadFontLabel = [SKLabelNode labelNodeWithFontnamed:@"HelveticaNeue-ultralight"];    [preloadFontLabel setText:@"Preload"];}
@H_403_4@这是从游戏开始时的游戏资产单身人员调用的,我也有一个回叫,停止在资产加载之前出现的“PLAY”按钮,这样用户就无法跳起q直到所有内容都启动并加载.我的游戏资产只需要1.03秒即可加载所以它不是问题,但如果需要,您还可以在启动/启动屏幕后隐藏更长的负载.

@H_403_4@如果你仍然看到问题,我会检查你的SKScene中没有任何其他字体,你没有预加载.此外,它可能是加载自定义字体的问题,尝试将字体更改为“HelveticaNeue-ultralight”,看看你是否得到相同的问题.

总结

以上是内存溢出为你收集整理的ios – SKLabelNode延迟应用程序启动全部内容,希望文章能够帮你解决ios – SKLabelNode延迟应用程序启动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1099009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存