Spritekit - 不从 SKTextureAtlas 加载 @3x 图像

2024-01-26

由于我的示例项目被删除(我认为这会更容易测试),我将发布一些代码和图像来说明我的观点。

这是示例图像

我的图集设置:

我的启动图像设置:

我将这些精灵添加到场景中的代码

override func didMoveToView(view: SKView) {
    let texture = SKTextureAtlas(named: "scenery")
    let test = SKSpriteNode(texture: texture.textureNamed("test"))
    test.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
    self.addChild(test)

}

这些是我的结果:

iPhone 5 模拟器:

iPhone 6 Plus 模拟器:

我尝试更改启动图像以使用资产目录。那么 iPhone 6 plus 似乎升级了 2 倍的屏幕。它仍在加载 2x 图像,但将其放大。

我需要它来加载我的 3x 图像并与我的 2x 图像一起缩放。

加布下面的回答为我指明了正确的方向。从事一个新项目。但是,如果我将他的解决方案用于我真正的 SpriteKit 项目,我的 3x 图像不会缩小。它们比应有的大 3 倍。


如果您使用新方法创建图集,它现在似乎可以工作。重要的是Deployment target应该 >= 9.0 ...

Select Assets.xcassets然后点击+号创建一个新的精灵图集:

选择“New Sprite Atlas”选项并添加@2x和@3x资源:

然后在代码中执行以下操作:

let sprite = SKSpriteNode(texture: SKTextureAtlas(named: "Sprites").textureNamed("test"))
sprite.position = CGPoint(x: frame.midX, y: frame.midY)
addChild(sprite)

Hint:

如果您正在模拟器上进行测试,请在尝试此操作之前重置模拟器的内容和设置以清除缓存。

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

Spritekit - 不从 SKTextureAtlas 加载 @3x 图像 的相关文章

随机推荐

  • jquery 设置加载后的高度

    我在设置动态加载的元素的高度时遇到了一些麻烦 我用jqueryload函数将外部 动态 页面加载到当前页面上的 div cbox 中 因为这个子页面是动态的 所以我无法事先知道内容的高度是多少 我想在加载内容后获取高度 并将容器 div 的
  • Android dropbox api 需要重新验证

    在我的应用程序中 我使用 dropbox api 来保存一些文件 没问题 身份验证后 我关闭应用程序并重新启动应用程序 每次我打开应用程序时都需要重新身份验证 我希望应用程序记住我的会话 Dropbox 教程 https www dropb
  • CMake 中预期的构建失败测试

    有时最好检查某些东西是否无法构建 例如 Next line should fail to compile can t convert const iterator to iterator my new container type iter
  • 将部分参数列表传递给 do.call()

    我正在尝试编写一个函数来测试 GBM 模型的一系列超参数 我只希望 GBM 调用中的三个参数发生变化 其余的我想保持静态 do call似乎是答案 因为它接受参数列表并将它们传递给函数 然而 我不知道是否有办法 修复 一些我不想改变的论点
  • 确保启用“Google Maps Android API v2”。当我尝试实施 Google 地图时收到此错误

    我正在使用谷歌地图 但收到此错误 我做了以下事情 得到了我的 sha1 指纹 注册了我的项目并获得了我的项目密钥 我不知道如何启用 Google Maps Android API v2 因为我尝试过的所有链接都是旧的 并且 Google 已
  • 当 PHP 中的某个键被赋值时,数组是否会隐式创建?

    只是想快速验证这一点 它与我在其他语言中的直接经验不同 在其他语言中 必须首先声明数组 然后才能填充值 是的 PHP 将自动创建一个数组给定以下任何一个 foo bar foo 1 bar foo bar bar and of course
  • 更改每个像素的图像并保存到数据库

    我正在制作一个小网页游戏 我正在寻找一种方法来操作每个像素的图像并将其存储在 mysql 数据库中 准确地说 我需要能够执行以下操作 从 mysql 数据库加载图像 250 x 250px 到屏幕上 图像不可见 例如 每个像素的 alpha
  • 在 React 中通过 getBoundingClientRect 接收元素的尺寸

    我想以可靠的方式找出 DOM 元素的尺寸 我的考虑是使用 getBoundingClientRect 来实现此目的 const elementRef useRef
  • 我是否在某处读到过,C++/CLI 使我们走向一个没有“头文件”的社会,就像 Java 一样

    如果是这样 我在创建类时是否应该尽量减少头文件的使用 这可能晚了 3 年 但它仍然显示在谷歌搜索的顶部附近 并且该信息今天仍然有效 就像 3 年前一样 首先 是的 你是对的 对于 C CLI 除了本机 C 类 结构等之外 你不使用 h 文件
  • 实时主机上的 codeigniter 出现内部服务器错误

    我已经部署了一个在主 public html 文件夹中使用 CodeIgniter 的网站 http www myexample com 该项目在本地主机上完美运行 为了从 URL 中删除 index php 它具有以下 htaccess
  • 如何在iOS中添加android之类的toast?

    在android中我们可以直接添加toast 他们有什么方法可以在iOS中添加类似的toast吗 我创建了透明视图来用作吐司 但对于多种文本大小 我必须创建多个视图 iOS 中没有可用的 Android 类型 Toast 控件 如果你想使用
  • 引导程序验证不起作用

    我正在尝试使用验证引导程序 http bootstrapvalidator com 我尝试解决方案为here http jsfiddle net Tkbk9 但它不起作用
  • 确定哪些测试覆盖一行代码

    有没有办法确定可能执行给定代码行的单元测试集 换句话说 你能否自动确定不只是whether给定的行已被覆盖 但覆盖它的实际测试集是什么 考虑一个包含 50K 单元测试的大型代码库 显然 运行所有这些可能需要很长时间 即使不是几天 也可能是几
  • 应用程序配置(Spring?)

    我厌倦了所有这些无聊的样板代码来解析应用程序配置 如数据库连接 工作目录 API 端点等等 Spring IoC 看起来不错 但这将迫使我的应用程序的用户修改 XML 文件 只是为了编辑数据库 URL 等 这也可能非常分布在 XML 文件中
  • Koa 发送响应后运行代码

    为了优化响应延迟 需要执行以下工作after响应已发送回客户端 但是 我似乎可以在发送响应后运行代码的唯一方法是使用setTimeout 有没有更好的办法 也许在发送响应后在某个地方插入代码 或者在某个地方异步运行代码 这是一些代码 koa
  • 实体框架 4:继承和关联

    我确实从提供跟踪的基类派生出我的实体 Since User源自于TrackableBase and TrackableBase与 关联User 我收到错误 无法确定相关操作的有效顺序 由于外键约束 模型 可能存在依赖关系 要求或存储生成的值
  • OData分页与skip和top - 如何知道没有更多数据?

    我有 OData 源 它实现了 skip and top参数 返回的实体数量为 x 假设我只有 250 个实体 然后我尝试像这样进行分页 https example com EntitySet top 30 skip 220 如果我的跳过超
  • 使用 jaxb 验证复杂对象中的嵌套对象

    我有一个像这样的对象的 xml 表示 OrderList has list of 订单 每个订单都有一个商品列表 我想验证我的商品 如果无效 我想将它们从订单中删除 如果所有商品都无效 那么我会从订单列表中删除该订单 我已经能够验证订单列表
  • 将包含 JSON 对象数组的 Spark 数据帧列转换为多行

    我有一个流式 JSON 数据 其结构可以用下面的案例类来描述 case class Hello A String B Array Map String String 相同的示例数据如下 A B ABC C 1 D 1 C 2 D 4 XYZ
  • Spritekit - 不从 SKTextureAtlas 加载 @3x 图像

    由于我的示例项目被删除 我认为这会更容易测试 我将发布一些代码和图像来说明我的观点 这是示例图像 我的图集设置 我的启动图像设置 我将这些精灵添加到场景中的代码 override func didMoveToView view SKView