【发布时间】:2021-06-15 07:51:40
【问题描述】:
我正在为 macOS 开发,我想在我的 SpriteKit 项目中使用带有 SKLabelNode 的自定义 TTF 字体。 我确实在网上搜索了如何做到这一点,我能找到的每个地方都描述了以下步骤:
- 将字体添加到您的应用程序包中
- 将“应用程序字体资源路径”键添加到 Info.plist “字体”作为值
- 将“应用程序提供的字体”键添加到 Info.plist 并添加字体文件的名称
- 创建一个以“资源”为目标的副本构建阶段,并 “字体”作为子路径
- 将字体拖放到复制构建阶段
- 在 Finder 中右键单击字体文件并选择“获取信息”菜单选项。 在“全名”字段中,复制字体名称
我已经完成了上面列表中的所有操作,并尝试以编程方式在 didMove() 方法中设置字体,如下所示:
titleLabel = self.childNode(withName: "TitleLabel") as! SKLabelNode
titleLabel.fontName = "Lobster Regular"
但是,当我运行它时,我收到错误“Lobster Regular”字体未找到。我仔细检查了,这是字体的名称。我也尝试使用文件名,但也没有用。
我也关注了official documentation。 然而问题是,文档建议在将字体添加到 Xcode 项目并在 info.plist 中包含键之后,我应该能够使用界面生成器将字体分配给标签。但在我的情况下,字体没有显示在界面生成器中。
如果我将字体添加到字体册,它可以工作,我可以通过编程方式和在界面构建器中使用它,但我想将字体包含在我的应用/游戏中。
我错过了什么?我应该检查 Xcode 中的其他属性吗?
谢谢。
【问题讨论】:
-
无法判断您正在为哪个操作系统开发游戏。
-
@ElTomato 感谢您的警告,不知道这有什么不同,我正在为 macOS 开发。
-
iOS 和 macOS 使用自定义字体的方式不同。
标签: swift xcode fonts sprite-kit truetype