【问题标题】:How to auto-scale a scene in different resolution?如何自动缩放不同分辨率的场景?
【发布时间】:2016-03-01 23:58:58
【问题描述】:

我在 Scenekit 场景上叠加了 Spritekit 背景和标签。 当我尝试在 iPhone 5 和 iPhone 6 模拟器上运行程序时,SpriteKit 节点不会自动适应不同的设备。 如何解决这个问题?

class GameOverlay: SKScene {

    override init(size: CGSize) {
        super.init(size: size)

        //Start Game
        let gameStart = SKSpriteNode(imageNamed: "GameStart")
        gameStart.anchorPoint = CGPoint(x:0.5,y:0.5)
        gameStart.position = CGPointMake(-size.width / 2 + 400 , size.height / 2 - 200)
        gameStart.size = CGSize(width: 356 / 2, height: 86 / 2)
        gameStart.setScale(1.0)
        gameStart.zPosition = 1
        SKSceneScaleMode.ResizeFill
        self.addChild(gameStart)


        //Quit node
        let quit = SKLabelNode(fontNamed: "AvenirNext-Bold")
        self.anchorPoint = CGPointMake(0.5, 0.5)
        self.scaleMode = .AspectFill
        quit.text =  "Quit"
        quit.fontColor = UIColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1.0)
        quit.position = CGPointMake(-size.width / 2 + 580 , size.height / 2 - 360)
        quit.name = "quit"
        self.addChild(quit)

        //BG
        let bg = SKSpriteNode(imageNamed: "22")
        bg.anchorPoint = CGPoint(x:0.5,y:0.5)
        bg.position = CGPoint(x:0.0, y:0.0)
        bg.zPosition = -1
        SKSceneScaleMode.ResizeFill
        self.addChild(bg)
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

}

【问题讨论】:

    标签: ios swift sprite-kit scenekit


    【解决方案1】:

    步骤 1

    写作

    SKSceneScaleMode.ResizeFill
    

    不会产生任何影响。

    要调整场景大小,您必须编写

    self.scaleMode = .ResizeFill
    

    第二步

    这段代码

    self.scaleMode = .ResizeFill
    

    不会缩放你的场景,它只是调整它的大小。

    要缩放场景(并自动缩放其内容),您可以编写

    self.scaleMode = .Fill
    

    【讨论】:

    • @CuiLongchang:好的,如果能解决你的问题,请采纳我的回答。
    猜你喜欢
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 2020-03-13
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多