Swift 更改所有SKTextures的SKTextureFilteringMode
是否有方法将Swift 更改所有SKTextures的SKTextureFilteringMode,swift,swift3,sprite-kit,sktexture,Swift,Swift3,Sprite Kit,Sktexture,是否有方法将filteringMode属性指定给SKTextureFilteringMode。对于所有SKTextures,最近的?而不是单独指定给每个纹理。下面的操作很好,但我希望我不必迭代纹理,只需设置过滤模式的默认值。这可能吗 func walk () -> SKAction { let walkTexture1 = SKTexture(imageNamed: "walk1.png") let walkTexture2 = SKTexture(imageNamed:
filteringMode
属性指定给SKTextureFilteringMode。对于所有SKTextures
,最近的?而不是单独指定给每个纹理。下面的操作很好,但我希望我不必迭代纹理,只需设置过滤模式的默认值。这可能吗
func walk () -> SKAction {
let walkTexture1 = SKTexture(imageNamed: "walk1.png")
let walkTexture2 = SKTexture(imageNamed: "walk2.png")
let walkTexture3 = SKTexture(imageNamed: "walk3.png")
let walkTexture4 = SKTexture(imageNamed: "walk4.png")
let walkTexture5 = SKTexture(imageNamed: "walk5.png")
let animationTextures: [SKTexture] = [walkTexture1, walkTexture2, walkTexture3, walkTexture4, walkTexture5]
for texture in animationTextures {
texture.filteringMode = SKTextureFilteringMode.nearest
}
let walkAnimation = SKAction.animate(with: animationTextures, timePerFrame: 0.3/5)
return walkAnimation
在同一循环中创建纹理并设置属性
让纹理=(1…5).map{
let texture=SKTexture(图像名为:“walk\($0.png”)
texture.filteringMode=SKTextureFilteringMode.nearest
返回纹理
}
或者使用forEach
textures.forEach{
$0.filteringMode=
}
在同一循环中创建纹理并设置属性
让纹理=(1…5).map{
let texture=SKTexture(图像名为:“walk\($0.png”)
texture.filteringMode=SKTextureFilteringMode.nearest
返回纹理
}
或者使用forEach
textures.forEach{
$0.filteringMode=
}
您可以对SKTexture进行扩展,如下所示:
extension SKTexture {
class func pixeled(imageNamed imageName: String) -> SKTexture {
let texture = SKTexture(imageNamed: imageName)
texture.filteringMode = .nearest
return texture
}
}
然后你就可以
let walkTexture1 = SKTexture.pixeled(imageNamed: "walk1.png")
等等。您也许可以对SKTexture进行扩展,如下所示:
extension SKTexture {
class func pixeled(imageNamed imageName: String) -> SKTexture {
let texture = SKTexture(imageNamed: imageName)
texture.filteringMode = .nearest
return texture
}
}
然后你就可以
let walkTexture1 = SKTexture.pixeled(imageNamed: "walk1.png")
等等。请在你的答案中添加一些解释。请在你的答案中添加一些解释。