在 SpriteKit 中预加载纹理

2024-03-04

我做了一些研究,但似乎找不到任何可以清楚解释如何在动画中预加载单个纹理和纹理的内容。我目前正在使用Atlas's in Assets.xcassets对相关的动画图像进行分组。我的图像出现在 Atlas 中是否意味着它们已被预加载?就单个图像而言,在之前声明纹理是否有意义GameScene像这样:let laserImage = SKTexture(imageNamed: "Sprites/laser.jpg")然后(例如)在我的 SKSpriteNode 子类之一中我可以通过laserImage通过?

我最终想知道是否有一个明确定义的方法来解决这个问题,或者我是否应该在之前将每个纹理存储为常量GameScene。任何有关正确(且最有效)的方法的建议都会很棒。


我尝试实现 appzYourLife 答案,但它增加了加载每个纹理的时间。因此,我最终将所有最常用的 Sprite 放入一个图集中,并将其放入一个单例中。

class Assets {
    static let sharedInstance = Assets()
    let sprites = SKTextureAtlas(named: "Sprites")

    func preloadAssets() {
        sprites.preloadWithCompletionHandler {
            print("Sprites preloaded")
        }
    }
}

I call Assets.sharedInstance.preloadAssets()在菜单场景中。和:

let bg1Texture = Assets.sharedInstance.sprites.textureNamed("background1")
bg1 = SKSpriteNode(texture: bg1Texture)

引用已加载到内存中的纹理。

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

在 SpriteKit 中预加载纹理 的相关文章

  • 如何使用完成处理程序等待 firestore 请求的完成

    我正在慢慢地了解完成处理程序 如果我有一个 firestore 查询 如果我想使用完成处理程序 则有点向后工作 当 firestore 查询完成时 我必须使用completion 但它的设置功能仍然让我感到困惑 因此 如果这是一个将闭包作为
  • Swift:如何减少 didupdatelocations 调用

    我想出了一些代码来打印我所在位置的地址和邮政编码 这是在 didupdatelocation 函数中完成的 我遇到的唯一问题是 didupdatelocation 函数每秒都会更新该地址 因为这电池效率非常低 所以我一直在寻找使用间隔的方法
  • 为什么在授予用户权限时,UIUserNotificationType.None 在当前设置中返回 true?

    我正在编写一种方法来检查当前用户设置是否包含某些通知类型 当检查当前设置是否包含 UIUserNotificationsType None 时 无论授予权限还是拒绝权限 它都会返回 true 有谁知道这是为什么吗 func register
  • Swift Codable 将空 json 解码为 nil 或空对象

    这是我的代码 class LoginUserResponse Codable var result String var data LoginUserResponseData var mess String public class Log
  • 在 SwiftUI 中使用分段式选取器在两个页面之间滑动

    我有一个Picker with pickerStyle SegmentedPickerStyle 使其成为分段控件 我想让页面在之间平滑滑动 而不是使用条件语句替换视图 这是我迄今为止所做的 gif 这是到目前为止的代码 由if 而不是在不
  • Objective-c 中的块递归

    当执行涉及 Objective C 块的递归时 我在 iOS 应用程序中收到 EXC BAD ACCESS 信号 这是简化的代码 void problematicMethod FriendInfo friendInfo onComplete
  • iPhone UINavigationBar 使用 [UINavigationBar 外观] 更改所有控制器的字体样式

    我知道我可以单独更改导航栏的字体 如本答案所述 更改导航栏的字体 https stackoverflow com questions 5832036 change the navigation bars font 目前我正在使用一种更全局的
  • 如何在 iOS 中更改部分透明图像的颜色?

    我有一个具有部分透明度的单色图像 我有正常版本和 2X 版本的图像 我希望能够用代码将图像着色为不同的颜色 下面的代码适用于普通图像 但 2X 最终会出现伪影 正常图像可能有类似的问题如果是这样 由于分辨率的原因我无法检测到它 UIImag
  • 所需框架与静态库

    构建现代框架 https developer apple com videos play wwdc2014 416 says 每个应用程序都有自己的自定义框架副本 https stackoverflow com a 15262463 242
  • 如何在 Swift 中获取字典中最后输入的值?

    如何获取 Swift 字典中最后输入的值 例如 我如何从下面获取值 CCC var dictionary Dictionary
  • 关于窗口层次结构的警告

    我的调试器中出现这样的警告 这是什么意思 Warning Attempt to present
  • 个人帐户开发者之间的 Apple 开发/分发证书

    我一直在到处寻找有关处理证书的正确答案 想象一下以下帐户 Joe拥有个人 Apple 帐户 但他根本不会编码 他只是发布了该应用程序并将其称为自己的 Bob还有一个个人 Apple 帐户 Bob 是一位编码专家 Joe 付费让他开发他的第一
  • 我的游戏中应该有多少个视图控制器?

    我开始使用 spritekit 构建我的第一个游戏 现在我只有一个视图控制器来呈现开始屏幕场景 override func viewDidLoad super viewDidLoad let scene StartScreenScene C
  • 当强制退出/向上滑动以终止 iOS 应用程序而不点击横幅/警报时,如何获取推送通知有效负载?

    我正在构建一个应用程序来处理从 Parse 推送的通知 并尝试创建通知历史记录功能 我已经成功启用了后台模式 因此当应用程序在后台运行时 应用程序可以通过以下方式很好地获取有效负载application didReceiveRemoteNo
  • Android 纹理仅显示纯色

    我正在尝试在四边形上显示单个纹理 我有一个可用的 VertexObject 它可以很好地绘制一个正方形 或任何几何对象 现在我尝试扩展它来处理纹理 但纹理不起作用 我只看到一种纯色的四边形 坐标数据位于 arrayList 中 the ve
  • 苹果企业程序分发问题[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 这个问题涉及到Apple iOS 开发者企业计划 http developer apple com programs ios enterprise 我
  • 避免 UIImage 的 imageNamed - 内存管理

    我正在经历这个链接 http akosma com 2009 01 28 10 iphone memory management tips 我遇到了一个点避免 UIImage 的 imageNamed 出于什么原因我们应该避免这种情况 它会
  • 三角形纹理映射OpenGL

    我正在开发一个使用 Marching Cubes 算法并将数据更改为 3D 模型的项目 现在我想在 OpenGL 中为我的 3D 模型使用纹理映射 我首先尝试了一个简单的示例 它将图片映射到三角形上 这是我的代码 int DrawGLSce
  • 如何反转 CGPath 的点顺序

    我想画一个圆圈 并用它打出字母 为此 我需要顺时针抚摸圆圈 逆时针抚摸字母 这一切都很好 但是当我使用 Core Text 获取字母路径时 我不知道如何从本质上反转该路径 不是镜像或旋转或任何东西 这很简单 我希望点笔画顺序是逆时针的 这实
  • 在故事板中的视图控制器之间滑动手势

    我希望添加左右滑动手势来在视图控制器之间进行更改 这是否可能 并且有没有一种简单的方法可以在故事板中执行此操作 谢谢 故事板允许您在两个视图控制器之间设置 Segues 我想说首先在视图之间附加 Segues 给它一个标识符 然后使用类似的

随机推荐

  • 如何将 Jsoup(Java html 解析器)中生成的文档转换为字符串

    我有一个用 jsoup 制作的文档 如下所示 Document doc Jsoup connect http en wikipedia org get 我该如何转换它doc成字符串 你有没有尝试过 Document doc Jsoup co
  • JavaFX RotateTransition 无限期停止

    下面代码的问题在于两个动画之间有大约半秒的暂停 我希望节点不断旋转 RotateTransition rt new RotateTransition Duration seconds 2 syncNode rt setFromAngle 0
  • 如何停止反应原生动画

    我试图在本机反应中停止动画 但它不起作用 我尝试这样做停止动画方法 https facebook github io react native docs animated html stopanimation 这是我的代码 construc
  • 如何使用 Spark 查找中位数和分位数

    我怎样才能找到一个中位数RDD使用分布式方法 IPython 和 Spark 计算整数 这RDD大约有 700 000 个元素 因此太大而无法收集和查找中位数 这个问题与这个问题类似 如何使用 Apache Spark 计算精确中位数 ht
  • 如何在新窗口中打开链接?

    我有一个特定链接的点击处理程序 在其中我想做类似以下的事情 window location url 我需要这个才能在新窗口中实际打开网址 我该怎么做 您可以喜欢 window open url window name window sett
  • Java 并行流的性能影响

    使用的最佳实践是什么 stream parallel 例如 如果您有一堆阻塞 I O 调用 并且您想要检查是否 anyMatch 并行执行此操作似乎是明智的做法 示例代码 public boolean hasAnyRecentReferen
  • 在 C# 中删除继承对象的属性

    如果我有一个复杂的对象 我可以继承它并remove or ignore某些属性 如果你不在乎why我想这样做 请随意提交答案 如果您关心的话 可以阅读这个问题 https stackoverflow com questions 860786
  • 无法让 php exec 工作

    我已经为此奋斗了几个小时 但似乎无法解决 尝试了 exec shell exec 和 system 什么都不起作用 我有这个 exec usr bin php var www vhosts domain com httpdocs shell
  • 机器模式下mret和ret指令有什么区别?

    当RISC V核心工作在机器模式时 mret和ret指令有什么区别吗 ret is a pseudoinstruction which actually is a jalr instruction while mret is a real
  • 如何实例化相互依赖的类?

    我有一个PlayoffCreator类来创建季后赛比赛 这个类有一个Bracket生成括号结构的实例 该结构中的每个匹配都是一个Node 由该类的两个实例组成Element 然后PlayoffCreator经历每一个Node the Bra
  • 如何向pandas工具包代理添加会话记忆?

    我想添加一个ConversationBufferMemory to pandas dataframe agent但到目前为止我还没有成功 我尝试通过构造函数添加内存 create pandas dataframe agent llm df
  • HDFS 错误:只能复制到 0 个节点,而不是 1 个

    我在 EC2 中创建了一个 ubuntu 单节点 hadoop 集群 测试将简单文件上传到 hdfs 可以在 EC2 计算机上进行 但不能在 EC2 外部的计算机上进行 我可以通过远程计算机的 Web 界面浏览文件系统 它显示一个报告为正在
  • 我如何解码这个恶意软件 PHP 脚本? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我只是注意
  • 文本未出现在 XTS 图上

    我在使用 R 向时间序列数据图中添加一些文本时遇到问题xts 我已经制作了一个简单的问题示例 My text 命令似乎什么也没做 而我可以在图中添加一个点 我尝试尽可能使用默认值来保持代码简单 require quantmod fetch
  • intentService :为什么我的 onHandleIntent 从未被调用?

    我正在使用 android xml rpc 来安装服务器 为此 我正在使用intentService 唯一的问题是 当启动服务器类时 我的包含服务器的 onHandleIntent 永远不会被调用 我做了一些研究 发现有人有同样的问题 他设
  • 为 sklearn 梯度增强分类器设置自定义损失

    Sklearn 梯度增强分类器接受偏差和指数损失 详见here https scikit learn org stable modules ensemble html gradient boosting and here https sci
  • Java 性能技巧

    我有一个程序从 C 移植到 Java 这两个应用程序都使用快速排序来排序一些分区数据 基因组坐标 Java 版本运行速度很快 但我想让它更接近 C 版本 我使用的是 Sun JDK v6u14 显然 我无法与 C 应用程序相媲美 但我想了解
  • 如何在 python 中合并列表? [复制]

    这个问题在这里已经有答案了 我有 2 个列表 例如 1 2 3 和 4 5 6 如何将它们合并到 1 个新列表中 1 2 3 4 5 6 不是 1 2 3 4 5 6 运算符可用于合并两个列表 data1 1 2 3 data2 4 5 6
  • Angular 2 下拉菜单中的 bootstrap 4 不起作用

    我按照以下步骤将 bootstrap 4 安装到我的 Angular 2 项目中 接受答案 遵循前 1 2 3 和 4 个步骤 https stackoverflow com questions 37649164 how to add bo
  • 在 SpriteKit 中预加载纹理

    我做了一些研究 但似乎找不到任何可以清楚解释如何在动画中预加载单个纹理和纹理的内容 我目前正在使用Atlas s in Assets xcassets对相关的动画图像进行分组 我的图像出现在 Atlas 中是否意味着它们已被预加载 就单个图