Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 用SpriteKit对SkSpriteNodes进行缩放_Ios_Swift_Sprite Kit_Scaling_Skspritenode - Fatal编程技术网

Ios 用SpriteKit对SkSpriteNodes进行缩放

Ios 用SpriteKit对SkSpriteNodes进行缩放,ios,swift,sprite-kit,scaling,skspritenode,Ios,Swift,Sprite Kit,Scaling,Skspritenode,我是一个游戏,我正在开发我有各种各样的节点缩放 根据设备(ipad/iphone)的不同,它们的最大尺寸在50-128之间(输出println(\(size)”)),所以我估计最大尺寸应该是3x128,对吗 缩放时会发生以下情况: 初始尺寸(0,0) 最终尺寸(最大值,最大值)--这些是上面提到的尺寸 我正在用这样的动作缩放: let imageName = NameGenerator.defaultGenerator.generateAssetName(properties: proper

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

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

缩放时会发生以下情况:

  • 初始尺寸(0,0)
  • 最终尺寸(最大值,最大值)--这些是上面提到的尺寸
我正在用这样的动作缩放:

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)
到目前为止还不错。应用程序运行平稳,一切正常,但是

  • 在缩放动画期间,节点高度像素化
我的资产目前仅以
@3x
大小存储在
300x300px

问题

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

如果使用png文件,您会很好。不支持矢量格式。如果您想使用它们,您必须将其转换为类似png的位图图像格式

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

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

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

游戏开发是一个平衡资源/性能和用户体验的过程。您需要尝试为您的游戏找到最佳折衷方案

顺便说一句,我觉得这句话有点让人困惑:

根据设备(ipad/iphone),它们的最大尺寸介于 50-128(println的输出(“(大小)”),因此我计算了最大大小 应该是3x128,对吗


我不太清楚你想说什么。

我正在通过屏幕比例来确定最大尺寸,以确保游戏在所有ios设备上平稳运行。这意味着在所使用的设备上,大小略有不同。