gpt4 book ai didi

ios - 使用 SpriteKit 缩放 SkSpriteNodes

转载 作者:行者123 更新时间:2023-11-28 05:32:33 26 4
gpt4 key购买 nike

我正在开发一个游戏,我有各种可缩放的节点。

根据设备(ipad/iphone),它们的最大尺寸在 50-128 之间(println("\(size)") 的输出),所以我认为最大尺寸应该是3x128,对吗?

缩放时会发生以下情况:

  • 初始大小 (0,0)
  • 最终大小 (max,max) -- 这些是上面提到的大小

我正在使用像这样的 SKAction 进行缩放:

let imageName = NameGenerator.defaultGenerator.generateAssetName(properties: properties)
let texture = SKTexture(imageNamed: imageName)
let node = SKSpriteNode(texture: texture)

let initialSize = CGSizeMake(1, 1)
let scaleFactor = max / initialSize.width
let actionScale = SKAction.scaleTo(scale, duration: duration)

node.runAction(scale)

到目前为止一切顺利。应用运行流畅,一切正常,但是

  • 节点在缩放动画期间高度像素化

我的 Assets 目前仅以 @3x 大小存储在 300x300px

问题

  • 什么是最佳纹理格式(png、svg 等)- 有没有办法使用矢量图像?
  • 你认为这个场景的最佳纹理大小是多少?
  • 我是否正确地进行了缩放/初始化,或者我应该做一些不同的事情来避免像素化?

最佳答案

如果你使用 png 文件就没问题。不支持矢量格式。如果您想使用它们,则必须将其转换为位图图像格式,例如 png。

就最佳纹理大小而言,这实际上是一个反复试验以及权衡取舍的问题。

放大时,您会看到像素化。多少取决于您使用的比例因子、实际纹理本身以及您拥有的任何其他变换(例如旋转)。在确定要使用的纹理大小时,您基本上是在内存与视觉质量之间取得平衡。例如,如果您没有很多纹理,则很可能会使用较大的图像。另请注意,按比例缩小也有其缺点,例如混叠效果。

您可能想要尝试做的是确定您认为“最佳”或最常用的尺寸。并将该尺寸用作您的 x1 缩放尺寸。

游戏开发就是在资源/性能和用户体验之间取得平衡。您需要尝试为您的游戏找到最佳折衷方案。

顺便说一句,我发现这个说法有点令人困惑:

depending on the device (ipad/iphone) they have a maximum size between 50-128 (output of println("(size)")), so i asume the maximal size should be 3x128, right?

我不太确定你想说什么。

关于ios - 使用 SpriteKit 缩放 SkSpriteNodes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27217201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com