调用 SKLabelNode 时出现延迟?

2024-04-20

我在从一个版本转换时遇到了轻微延迟(滞后)的问题SKScene到另一个。通过注释掉各种代码,我将其范围缩小到SKLabelNode,我的猜测是,这就是它在调用时加载/缓存字体,这会导致在声明新字体时出现小的延迟/口吃SKScene.

有没有其他人注意到这一点,当您只使用一个时,它不太明显SKScene(就像默认模板一样),因为速度减慢只是在通常的启动延迟中消失了。有谁知道解决这个问题的方法,有没有办法预加载字体?我想我可以加载字体UIViewController在启动时看看我是否可以使用SKScene,有人有什么想法吗?

-(id)initWithSize:(CGSize)size {
    if (self = [super initWithSize:size]) {
        [self setScore:0];

        [self setBackgroundColor:[SKColor blackColor]];
        SKLabelNode *labelNode = [SKLabelNode labelNodeWithFontNamed:@"System"];
        [labelNode setText:@"00000"];
        [labelNode setFontSize:20.0];
        [labelNode setPosition:CGPointMake(CGRectGetMidX(self.frame),500)];
        [labelNode setName:@"SCORE"];
        [labelNode setAlpha:1.0];
        [self addChild:labelNode];
        [self setScoreLabel:labelNode];
        ...

延迟取决于字体的加载。最好预加载字体、声音和您打算使用的任何其他资源,这样您在第一次实际使用时就不会出现延迟。

您可以使用以下命令在您的设置中预加载:

SKLabelNode *preload = [SKLabelNode labelNodeWithFontNamed:@"System"];
[preload setText:@"anything"]; 

正如评论中所指出的,仅当使用 iOS 无法提供的字体时才需要预加载。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用 SKLabelNode 时出现延迟? 的相关文章

  • 带有 numberOfLines 和 lineBreakMode 的 UILabel

    我正在开发一个必须同时支持 iOS6 和 iOS7 的项目 我的问题是它在不同的系统上工作不同 我试图创建行数等于 2 的 UILabel 但是当我将其换行模式设置为 NSLineBreakByTruncatingTail 时 它的工作方式
  • 具有多个项目的工作空间还是一个具有多个目标的项目?

    我有 4 个 iOS 应用程序 它们都很相似 它们是闪存卡应用程序 每个应用程序都有不同的主题 他们共享很多课程和图像 现在我将所有 4 个项目作为单独的项目 但我希望简化维护并共享资源 将所有 4 个项目放在同一个工作区中更好 还是将 4
  • 构建复杂 NSCompoundPredicate 的最佳方法是什么?

    我需要建立一个NSPredicate有很多数据 例如 在 SQL 中我会执行如下操作 SELECT FROM TRANSACTIONS WHERE CATEGORY IN categoryList AND LOCATION IN locat
  • 是否包括触摸事件客户端X/Y 滚动?

    我正在尝试获取相对于的触摸坐标viewport来自触摸事件的浏览器 例如触摸启动 我尝试从 clientX Y 属性获取它们 但两者实际上都返回包括滚动在内的值 这是违反规范的 因为它说 clientX Y 应该返回坐标而不滚动 我尝试添加
  • 如何检测 OS X 上是否按下了某个键?

    我正在为 OSX 编写 Spritekit 游戏 如何检查当前是否按下某个键 考虑这个例子 some code this could be e g inside a game loop if is key w pressed move fo
  • 从 Firebase 观察者代码块中的函数返回数据 swift

    我是 firebase 的新手 我想知道是否有任何可能的方法来返回观察者块中的数据 我有课ApiManager NSObject在这个类中 我想创建所有的 firebase 函数 该函数将从数据库返回某种数据 这是我在这门课中的职责之一 f
  • 应用程序在后台时远程推送通知 swift 3

    我有一个可以接收远程推送通知的应用程序 我已经实施了didReceiveRemoteNotification这样 func application application UIApplication didReceiveRemoteNoti
  • 使用 UIActivityViewController 分享视频

    我正在尝试使用默认的苹果共享屏幕将视频分享到 Twitter 和 Facebook 等 我已经让它与图像一起使用 但我不知道如何更改它以与视频一起使用 提前致谢 这是我用来分享照片的代码 IBAction shareButtonPresse
  • Swift 尝试呈现 UIAlertController,其视图不在窗口层次结构中(在 TWTRShareEmailViewController 之后呈现)

    我在应用程序的注册过程中使用 Twitter 登录 我正在询问用户的电子邮件 一旦我得到它 我想展示一个 UIAlertController 这是我的代码 func askForTWMail if Twitter sharedInstanc
  • 如何获取UIImage的大小(KB)

    我从以下位置获取图像didFinishPickingMediaWithInfo UIImage originalImage UIImage info valueForKey UIImagePickerControllerOriginalIm
  • 前导点的自动完成功能无法快速工作

    当我尝试在 swift 中使用 前导点语法 时 我没有得到任何自动完成建议 是否没有实现此自动完成功能 或者是我的 Xcode 版本 6 3 1 有问题 例如 当我尝试这样的事情时 let col UIColor whiteColor 在我
  • 检查与 NSURLConnection 连接的有效 IP

    我目前有一个应用程序 它尝试根据我正在与之通信的某些服务器打开网络视图 但是 我允许用户输入自己的服务器 IP 以防 iphone ipad 和服务器 或其他设备 不在同一网络上 但是 我尝试使用 NSURLConnection 来检测是否
  • 本地通知替代周重复

    我有两个通知 我想隔周重复一次 例如 在第一周的星期一设置一个通知 并应在第三周的星期一重复 第二次通知设置在第二周的星期二 并且应在第四周的星期二重复 为此我该怎么办 获取周数 并根据周数做出决定
  • iOS 的 WiFi 连接通知,包括 SSID

    新手 IOS 程序员正在寻找一种在 iPhone 连接到 WIFI 网络时收到通知的方法 IE 关于以下转换的通知 3G转WIFI WIFI转3G WIFI 到另一个 WIFI 它应该能够知道我连接到哪个 SSID 在 Android 上花
  • 来自 facebook 的高分辨率图像

    这就是我获取相册和相册中的图片的方式 let connectionPhotos FBSDKGraphRequestConnection let requestPhotos FBSDKGraphRequest graphPath String
  • 无法将应用程序提交到 AppStore。 “您的应用程序包的签名包含 iOS 不支持的代码签名权利”

    我正在尝试将我的应用程序提交到 AppStore 但一切都是徒劳的 无论我做什么 我都会收到以下错误 我尝试清理 删除派生数据 重新启动 Xcode 重新启动我的 Mac 没有任何帮助 这个答案 https stackoverflow co
  • 无法读取未定义的属性“messageHandlers”

    我想将 JavaScript 变量传递给 Swift 我在 JavaScript 中遇到错误并进行了搜索 但没有得到任何结果 错误是 类型错误 无法读取未定义的属性 messageHandlers 任何人都可以帮忙吗 我在 Xcode 中的
  • 为 MoonAPNS 创建 p12 文件时卡住了

    我在创建 p12 证书时遇到一些问题 我之前创建了一个带有推送通知的应用程序 效果很好 应用程序获取用户设备 ID 并将其保存到数据库中 我已将代码添加到我的新应用程序中 并进行了与新应用程序一起使用的修改 从日志来看 它的工作方式似乎与我
  • 是否可以在 iOS 应用程序中使用 rsync?

    是否可以在 iPhone 或 iPad 应用程序中使用 rsync lib 或者也许有任何适合通过 sftp 进行远程文件同步的替代方案 Acrosync库是一个不错的选择 我已经为它做了一个演示 它根据 RPL 许可证进行许可 并提供商业
  • SpriteKit 中的攻击按钮

    我对 Xcode 有点陌生 一直在为我的班级制作 2d 游戏 我已经有一段时间遇到按钮问题了 我刚刚找到了为什么我的跳跃按钮不起作用的解决方案 但我还有一个攻击按钮 我设置了代码 使按钮显示在屏幕上并在按下时更改其图像 但是 我不知道要放入

随机推荐

  • 为什么 _ destroy 在语句末尾?

    我看到了其他一些问题answers https stackoverflow com a 25877389 221955说明let foo 在语句末尾而不是在作用域退出时销毁结果 这就是let a foo does 我找不到任何官方描述 也找
  • 在android中通过滑动删除应用程序时关闭服务

    当用户从当前运行的应用程序列表中删除应用程序时 我想关闭服务 在这里 我正在做的事情是 当用户启动应用程序时 服务就会启动并保持进行中 但是 当用户通过滑动删除应用程序时 就会创建新服务 我想关闭该服务 下面是我的代码 Start serv
  • 解析 ksoap2 响应

    我使用 ksoap2 lib 从 Android 客户端与 SOAP Web 服务进行通信 ksoap 团队做得很好 但问题是 没有任何好的例子如何在不同方面正确使用它 例如 我得到肥皂响应以下数据 anyType StatusSettin
  • 为什么 Mongodb 中的 ISO 日期显示提前一天?

    存储的日期如下所示 date of birth ISODate 1920 01 02T00 00 00Z 使用 moment 它在模型中被格式化 以便填充用于更新文档的输入 如下所示 AuthorSchema virtual date of
  • 如何从 JPEG 中裁剪多个矩形或正方形?

    我有一个 jpeg 我想从其中裁剪包含图形的部分 底部的部分 截至目前 我使用此代码来实现相同的目的 from PIL import Image img Image open r D aakash graph2 jpg area 20 32
  • 如何跳转到 vim 中不同选项卡内的标记?

    我使用 MacVim 通常会打开许多 选项卡 我希望能够在任何打开的文件中放置标记并在它们之间跳转 mK and K当标记位于同一个选项卡中时效果很好 但我必须使用gt找到选项卡 然后K找到标记 一定有更好的方法吗 这是一个快速而肮脏的技巧
  • WPF 文本框插入符消失

    我正在开发一个 WPF 应用程序TextBox成分 我的文本框插入符有问题 看来 取决于地点TextBox插入符号本身在某些特定位置消失 插入符号显示 插入符号消失 插入符返回 The TextBox风格很简单
  • 如何将 GPS 数据从 Android 发送到网站?

    我是 Android 和 Web 服务开发新手 目前我正在开发Android程序 该程序将发送经度和纬度信息到asp net网站 以显示位置更改网站地图 问题是 如何将此数据发送到网站 最佳实践 对合适框架的任何建议 从Android应用程
  • 如何将三个列表压缩到嵌套字典中

    我有三个清单 z1 A A B B z2 k1 k2 k1 k2 z3 v1 v2 v3 v4 当我写时 print dict zip z2 z3 这是我的输出 k2 v4 k1 v3 我期望这样 A k1 v1 k2 v2 B k1 v3
  • 为什么 for(var i in Math) 不迭代 Javascript 中的 Math.* ?

    由于某种原因 for var i in Math console log i 没有显示 Javascript 中预期的 tan cos atan2 E PI Because Math是一个内置对象 其属性已标记不可枚举 许多内置对象都有这种
  • 我可以使用 Meteor 将 this._id 值从一个模板助手传递到另一个模板助手吗?

    我有以下模板 html 及其受人尊敬的管理器 js 文件 admin管理类别 管理员添加类别 管理更新类别 考虑以下
  • 将 pubnub 添加到 angular2 cli 项目

    我想将 PubNub 添加到 angular2 cli 项目中 问题出在链接上 但是 我按照 npmjs com 上 pubnub angular2 包的说明进行操作 当我尝试在浏览器中加载它时 错误消息是这样的 例外 PubNub 不在全
  • 在 Epson TM-T88IVM 上打印简体汉字

    我正在尝试使用 C 中的 Microsoft 服务点 SDK 在 Epson TM T88IV M 并行端口 上打印中文字符 但是 它们在打印机上显示为问号 我的 PosPrinter 具有以下有效的 CharacterSetList 25
  • SQL Not Like 语句不起作用

    我在存储过程中有以下代码 WHERE WPP ACCEPTED 1 AND WPI EMAIL LIKE MATH UCLA EDU AND WPP SPEAKER 0 OR WPP SPEAKER IS NULL AND WPP COMM
  • 尝试在 getline 中使用 int

    cout lt lt How many questions are there going to be on this exam lt lt endl cout lt lt gt gt getline cin totalquestions
  • android webservice响应“解析xml到pojo异常”

    我正在尝试访问 android 中的肥皂网络服务 AndroidHttpTransport httpTransport new AndroidHttpTransport URL String result String httpTransp
  • Linux cp 与正则表达式

    我想复制目录中的一些文件 重命名文件但保留扩展名 这可以通过简单的cp 使用正则表达式 例如 cp myfile mydir newname 1 所以我可以复制保留扩展名的文件 但重命名它 有没有办法获得匹配的元素cp正则表达式在命令中使用
  • 带光谱测试的电子应用程序的简单示例

    我正在尝试学习如何测试应用程序 使用电子构建 使用 Spectron 为此 我从网上获取了一个示例应用程序 其中包含简单的标题 计数器标签和增量按钮 我使用摩卡作为测试运行 测试应启动应用程序 按下按钮并检查计数器标签 我什至无法达到应用程
  • 如何在 SQL 中比较两列?

    假设我有两个表 每个表都有一个 SSN 变量 我想显示仅在一个表中的表 而不是两个表中的表 这样做的正确方法是什么 这是一种方法 select coalesce t1 ssn t2 ssn from t1 full outer join t
  • 调用 SKLabelNode 时出现延迟?

    我在从一个版本转换时遇到了轻微延迟 滞后 的问题SKScene到另一个 通过注释掉各种代码 我将其范围缩小到SKLabelNode 我的猜测是 这就是它在调用时加载 缓存字体 这会导致在声明新字体时出现小的延迟 口吃SKScene 有没有其