swift - 更改所有 SKTextures 的 SKTextureFilteringMode

标签 swift swift3 sprite-kit sktexture

有没有办法为所有 SKTexturesfilteringMode 属性分配给 SKTextureFilteringMode.nearest?除了单独分配给每个纹理。以下工作正常,但我宁愿不必遍历纹理,而只需为过滤模式设置默认值。这可能吗?

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 { 让 texture = SKTexture(imageNamed: "walk\($0).png") texture.filteringMode = SKTextureFilteringMode.nearest 返回纹理 }

或者只使用 forEach

设置属性

textures.forEach { $0.filteringMode = .nearest }

关于swift - 更改所有 SKTextures 的 SKTextureFilteringMode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42779919/

相关文章:

swift 4 : SKSpriteNode won't stop on a position

ios - 通过一个容器 View 传递多个 View Controller - Xcode 8,Swift 3

ios - 我如何制作五彩纸屑?

ios - 按下一个 UIButton 会触发另一个 UIButton : I don't want this to happen

iOS swift 如何更改英语以外的基本语言

ios - 从 NSUserDefaults 返回 token

realm - 在 Realm 中使用 Swift 3 Measurement 和 Unit 类

ios - 在 nodejs 上运行的 sprite-kit 游戏

swift - 在 swift 中向 MapKit 注释 View 添加操作

更新 observableObject 时 SwiftUI NavigationView 会弹出