如何异步加载场景以便获得加载屏幕?

2024-04-02

我的场景加载可能需要一段时间,并且我希望能够显示加载动画,但是,一切都锁定了。有没有办法异步加载下一个场景并在准备好时获取回调?


您可以使用以下命令安排并发执行块异步调度 https://developer.apple.com/library/mac/documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html#//apple_ref/c/func/dispatch_async。在异步块中加载场景,然后在主线程上执行回调方法,如下所示:

__weak MyClass *weakself = self; 
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
    //Background thread
    //Load scene here
    dispatch_async(dispatch_get_main_queue(), ^(void){
        //Main thread
        //Call your callback method here
        [weakself sceneLoaded:loadedScene];
    });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何异步加载场景以便获得加载屏幕? 的相关文章

  • Swift 3:在 SKSpriteNode 上切一个洞

    首先 我知道 这个问题在这里已经有很多答案 但它们并没有帮助我解决这个问题 我编写了一个小游戏 第一次启动时有一个小教程 其中逐步解释了游戏的每个元素 在每一步中 我都想强调其中一个要素 所以我在元素前面放置了一个 alpha 为 0 9
  • CollisionBitMask 如何工作? Swift/SpriteKit

    据我所知 物理体的默认设置是当它们相互碰撞时会相互弹开 直到您将它们的碰撞位掩码设置为相同的数字 然而 由于我相信碰撞位掩码 我在完成看起来应该非常简单的事情时遇到了一个巨大的问题 let RedBallCategory UInt32 0x
  • SKLabelNode 删除前导和尾随空格 - 我怎样才能阻止它?

    我想创建一个 SKLabelNode 它应该始终具有相同的长度 对于猜词游戏 不幸的是 SKLabelNode 决定始终切断任何前导和尾随空格 文档中未描述此行为 我怎样才能避免 关闭这种行为 如果您只是想让标签对齐以便它们右对齐 那么请使
  • AVAudioPlayer 播放时游戏滞后

    我正在创建一个游戏 用户用喷气背包控制角色 当喷气背包与钻石相交时 我将钻石添加到它们的总数中 然后播放声音 然而 声音会使游戏暂停十分之一秒左右并扰乱流程 这是我正在使用的代码 var diamondSound NSBundle main
  • Swift 中的 CGPointMake

    如何使用CGPointMake in Swift 有等效的吗 我收到错误 使用未解析的标识符 CGPointMake 基本上 我试图为 Sprite Kit 节点分配一个位置 但不知道如何在 Swift 中执行此操作 class Playe
  • ARKit / SpriteKit - 将 PixelBufferAttributes 设置为 SKVideoNode 或以另一种方式在视频中制作透明像素(色度键效果)

    我的目标是使用以下方法在真实环境中呈现 2D 动画角色ARKit 动画角色是视频的一部分 如下视频快照所示 使用以下代码可以毫无问题地显示视频本身 func view view ARSKView nodeFor anchor ARAncho
  • 在 Swift 中比较 UIColors 时出现问题

    我需要比较两个 UIColor 但由于某种原因它总是返回 false 我尝试比较使用 and isEqual 但它们似乎都不起作用 This is a sample of the colors I have created let blue
  • didMove(查看: SKView) 和 didMoveToView(查看: SKView) 有什么区别?

    如标题所示 didMove to view SKView 和 didMoveToView view SKView 有什么区别 我知道 didMoveToView 是方法 并且该视图在旧 版本中属于 SKView 类型 我不明白将 查看 SK
  • 使用 CGMutablePath 创建路径会创建指向错误 CGPoint 的线

    我打算在屏幕上用 2D 箭头显示 AR 对象的信息 所以我用了projectPoint获取物体在屏幕中对应的位置 我有这个函数返回将节点的 3D 位置转换为 2D 并CGPoint显示信息文本 func getPoint sceneView
  • 如何使用 Sprite Kit 逐步模糊 SKSpriteNode 的图像?

    有人可以提供一个如何使用 Apple 的 Sprite Kit 逐渐模糊 SKSpriteNode 图像的示例吗 例如 假设用户触摸屏幕上的按钮 该按钮将触发背景缓慢 即逐渐 模糊 直到达到特定阈值 理想情况下 我也想反转该过程 例如 允许
  • 通用2D游戏资产和绝对节点定位

    我有一个关于通用游戏资产 and 绝对定位 of a SKNodes in Sprite Kit iOS 8 我将尝试通过如下示例来展示我的问题 想象一个2D自上而下游戏 with a SKSpriteNode它代表一座房子 一个房子有多个
  • 如何在 SKSpriteNode 上创建脉冲效果?

    您好 我想了解如何创建视觉脉冲效果 如下面的视频所示 https www youtube com watch v uiHj KZWjpU https www youtube com watch v uiHj KZWjpU 我点击了视频中发布
  • watchOS 3 SpriteKit 中的触摸事件?

    在watchOS 3中使用SpriteKit时 如何处理触摸事件 我正在从 iOS 移植 SpriteKit 游戏 下面的代码不起作用 或者你必须以某种方式控制 WKInterfaceController override func tou
  • 为什么我的物理体在 spritekit 中发生几次碰撞后会相互穿过?

    我正在开发一款游戏 其中涉及角色在平台上跳跃 例如涂鸦跳跃游戏 问题是角色在与平台发生几次碰撞后将穿过平台 对于跳跃我使用restitution player physicsbody restitution 1 0我根据加速度计数据对角色的
  • Swift SpriteKit:在 GameScene 中访问 UIViewController 的最佳实践[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想了解从 GameScene 访问 UIViewController 方法的最佳实践是什么 现在我一直在使用 NSNotificationCe
  • 关闭SKScene后,内存仍然居高不下

    我使用dispatch onceNSObject创建数据指针 因此 当主视图控制器出现时 所有游戏资源指针都会被创建 为了玩游戏 用户点击UIButton对应于某个特定级别UI视图控制器 让我称之为 LevelSelectionContro
  • 具有内边缘的 SpriteKit SKPhysicsBody

    我创建了一个SKSpriteNode比如说Map它有一个我定义的边缘路径 一些简单的多边形形状 我想弄清楚的是如何添加几个other将充当内部边缘的边缘路径Map 就好像整个 地图 实际上确实有holes 某种内部边界形状可以与Map整体
  • 尝试添加已经有父级错误的 SKNode

    我在尝试运行我的游戏时收到错误 尝试添加已有父节点的 SKNode 如果我将 SKSpriteNode 在本地添加到函数中 它就可以正常运行 但是当我尝试在全球范围内声明它时 我收到了该错误 任何解决此错误的帮助都会很棒 我认为这与self
  • 指定随机粒子起始颜色而不进行动画更改?

    有没有办法让粒子根据当前的 颜色渐变 产生随机的每个粒子颜色 粒子在其生命周期内不会改变颜色 它们只是在出生时从 颜色渐变 的某个地方被分配了一种颜色 并保持该颜色直到它们死亡 其结果将是出生时的粒子与从红色到蓝色的混合颜色的混合 在我的测
  • iOS - 基于设备的不同图像或缩放相同的图像?

    似乎开发人员总是为不同的设备创建不同的图像资源 并根据设备加载它们 但是 只为最高分辨率的设备 iPad 创建图像 然后为 iPhone 6 5 等缩小该图像 有什么缺点吗 我使用 SpriteKit 因此我只需创建不同大小的 SKSpri

随机推荐

  • 在 AngularJS 中通过模态编辑对象 - 使用临时对象?

    设想 用户单击项目 以下代码运行并打开一个模式 其中包含填充了项目名称的文本框 scope edit function item scope editingItem Name item Name 我在模式中的 HTML
  • 如何从 table1 中选择前 500 行并将它们插入到 table2 中?

    我定义了完全相同的 2 个表 t2 和 t1 t2 有 1000 行 t1 完全是空的 如何从 t2 中选择前 500 行并将它们插入到 t1 中 我将使用 emptyTable 和 populatedTable 因为问题很混乱 重要的 T
  • Laravel 视图缓存如何工作?

    根据 Laravel 的文档 https laravel com docs 5 3 blade introduction https laravel com docs 5 3 blade introduction 视图被编译成纯 PHP 代
  • MPMoviePlayerController 拍摄屏幕截图但仅显示黑屏

    我在播放 MPMoviePlayerController 时截取屏幕截图 完美保存屏幕截图 但图像只有黑色 我使用下面的代码 UIGraphicsBeginImageContext self moviePlayerController vi
  • 使用闪亮的 ggplot 地图获取正确的点击坐标

    我启动了一个带有 ggplot 世界地图的闪亮应用程序 我想获取绘图上点击的坐标 以便用户可以对地图进行操作 但坐标很奇怪 要么NULL或非常小的东西 重复点击似乎只会改变一个坐标 ui R library shiny Define UI
  • Java - 更改 JLabel

    我有一个名为 Keys java 的按钮类 它将按钮面板返回到名为 Control java 的类 我在 Control java 中有一个 JLabel 但我想做的是在按下按钮时更改 JLabel 你会怎样做呢 我尝试在 Keys jav
  • 是否可以在不安装VS的情况下运行CodedUI测试?如何?

    我想在测试机上运行我的编码 UI 测试 但我希望我可以避免在我的测试机上安装 VS2012 有什么办法可以做到吗 根据this http blogs microsoft co il shair 2015 04 08 automation r
  • 如何添加已经存在的db字段中的数据

    我正在尝试添加数据main storage表 但是当我保存记录时它显示错误 failed unsupported operand type s for DeferredAttribute and int In Main Storage pr
  • 查找将用户带到我的网站的引荐网址

    复制 查找上一页 URL https stackoverflow com questions 772780 finding previous page url 如何在 ASP NET 中找到将用户带到我的网站的引荐 URL 也可以看看 如何
  • 如何更快地解决欧拉项目#21?

    原始问题 令 d n 定义为 n 的真因数之和 小于 n 的数能被 n 整除 如果 d a b 且 d b a 其中 a b 则 a 和 b 是友好对 并且 a 和 b 中的每一个称为友好数 例如 220的真因数是1 2 4 5 10 11
  • iphone uipickerview:图像和文本

    是否可以在文本旁边添加图像 如图标 UIPickerView 我看到的例子UIPickerViews有两列 一列有图像 另一列有文本 这不是我需要的 我需要一个包含文本和图像的列 Thanks 您需要为选择器的每一行创建自己的视图 如果只是
  • 将 python 模块添加到 AzureML 工作区

    我最近一直致力于将机器学习模型部署为 Web 服务 我使用 Azure 机器学习工作室创建自己的工作区 ID 和授权令牌 然后 我训练了 LogisticRegressionCV 模型sklearn 线性模型在我的机器本地 使用 pytho
  • 地理距离 MySQL

    要搜索距给定位置最近的位置 请按距离排序 我应该使用浮动还是点 我应该预先计算 cos sin sqrt 的值吗http www movable type co uk scripts latlong db html http www mov
  • 如何获取UIBarButtonItem中心位置

    我正在做一些自定义视图控制器转换 我希望我的转换从按下的按钮的中心开始 For UIButton我可以 myCustomTransition startingPoint buttonPressed center 但如果我想使用UIBarBu
  • 性别表标准化是否太过分了?

    我不是数据库专家 但我正在尝试清理另一个数据库 所以我的问题是 性别表正常化会不会太过分了 User table userid int pk genderid char 1 fk etc gender table genderid char
  • 在jframe中创建java的正方形,矩形,三角形[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个 Java 问题 据我了解 无法在 Java 中绘制几何图形 代码和以下内容您可以帮助我吗 这是代码 public class
  • Primefaces 在 onComplete/onClick 上运行 java 脚本

    我有一个 p command 按钮 如下所示
  • 在 Javascript 中通过 JSON 获取单个视频(而非 feed)的 Youtube 信息

    所以我试图通过 JSON 格式从单个 YouTube 视频中获取信息 比如标题描述类别 等等除了评论之外我能得到的任何东西 我正在尝试用 JavaScript 来做到这一点 我注意到下面的链接 但他们的所有示例都是如何从提要中获取视频信息
  • Android 8 通知设置声音不起作用

    我有以下代码 但每次我只听到默认的 android 声音 create channel NotificationChannel channel new NotificationChannel ANDROID CHANNEL ID ANDRO
  • 如何异步加载场景以便获得加载屏幕?

    我的场景加载可能需要一段时间 并且我希望能够显示加载动画 但是 一切都锁定了 有没有办法异步加载下一个场景并在准备好时获取回调 您可以使用以下命令安排并发执行块异步调度 https developer apple com library m