簡體   English   中英

使用 SKCameraNode 放大時,SKLabelNode 模糊

[英]SKLabelNode blurry when zoomed in with SKCameraNode

我有一個我無法解決的問題。 我一直在尋找幾個小時來解決這個問題,我找不到任何東西。

我有SKScene有一個SKShapeNodeSKLabelNode 我還使用了放大場景的SKCameraNode (使用縮放動作)。 當我這樣做時,它看起來像這樣:

在此處輸入圖像描述

圓圈很尖銳(雖然不漂亮),但主要問題是標簽明顯模糊。

放大時有沒有辦法保持標簽清晰? 如果沒有,還有什么更好的方法可以放大場景而不損失質量?

多謝你們!

不幸的是,當相機放大時, SKLabelNode會變得模糊。

如果SKLabelNodeSKCameraNode上的子節點,則不會發生此問題,但這僅對攝像機移動不應影響的記分牌或 HUD 有用。

對於更高質量的 SKLabelNode,一個骯臟的解決方案是用大字體大小渲染它,將其轉換為SKSpriteNode ,然后再次縮小:

let scaleFactor = 5.0
let label = SKLabelNode(text: "Test")
label.fontSize = 12.0 * scaleFactor

let spriteText = SKSpriteNode(texture: view.texture(from: label))
spriteText.xScale = 1 / scaleFactor
spriteText.yScale = 1 / scaleFactor
addChild(spriteText)

您可以嘗試scaleFactor的各種值,看看結果是否符合您的喜好。

(請注意,如果您無權訪問您的視圖,您可以在第 5 行使用SKView().texture(from: label) )。

SKCameraNode有自己的縮放功能,因此您不需要使用縮放操作。

guard let camera = self.childNode(withName: "gameCamera") as? SKCameraNode else {
    fatalError("Camera node not loaded")
}

camera.setScale(1.75)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM