【问题标题】:Cocos2d -> Swift SpriteKit - CCLabelAtlas charmap functionalityCocos2d -> Swift SpriteKit - CCLabelAtlas 魅力地图功能
【发布时间】:2015-10-10 21:42:16
【问题描述】:

首先,如果之前有人问过这个问题,我深表歉意。我仍然非常熟悉编码,我不完全确定如果它就在我面前,我会看到正确的答案,因此我给在这里发帖寻求帮助!

几年前,我涉足 cocos2d 有一段时间,有一种非常有用的方法可以将自己的字体添加到标签中,我想知道在 sprite kit 中是否可以做同样的事情?

看这里,这是我多年前在 cocos2d 项目中的设置方式:

NSString *myString = [NSString stringWithFormat:@"Hello World",;
myLabelAtlas = [CCLabelAtlas labelWithString:myString charMapFile:@"My_Font.png" itemWidth:16/2 itemHeight:24/2 startCharMap:'.'];

我正在尝试使用相同的“My_Font.png”文件1,在 Sprite Kit 中快速重复此过程。

这可能吗??

(在此先感谢您再次对 n00b 问题表示歉意!)

【问题讨论】:

标签: ios swift cocos2d-iphone sprite-kit


【解决方案1】:

您正在寻找 SKLabelNode 来为场景添加标签。王宇东给你的链接here向你展示了如何将你的字体添加到你的项目中,以便你可以将它们作为UIFont获取。在你的GameScene.swift 的顶部,你想把这个代码(给出的类让你知道我在说什么):

import SpriteKit

class GameScene: SKScene, SKPhysicsContactDelegate {
    var label = SKLabelNode(text: "Hello World")

现在SKLabelNode 采用String! 作为要使用的字体名称。所以我们在didMoveToView 中做这样的事情(用你的字体名称替换<your font name>):

label.fontName = "<your font name>" // The font's name
label.fontSize = 18 // The size of your font
label.fontColor = UIColor.blackColor() // The color to use for your font
self.addChild(label) // Add the label to the scene

请记住,您需要字体在系统中的名称。有时字体名称并不是它们看起来的样子。要扫描所有字体名称(并找到要用于您的字体的名称),请使用此代码(这是来自链接,以防链接在某些时候消失):

for family: String in UIFont.familyNames()
{
     print("\(family)")
     for names: String in UIFont.fontNamesForFamilyName(family)
     {
         print("== \(names)")
     }
}

我不太确定如何为您的字体使用.png(我也不知道您是否仍在使用该字体)。可能有一个在线生成器可以将.png 字体转换为更常见的格式。但是一旦你把它转换成类似.otf.ttf的东西,你就可以把你的字体放到你的项目中(在你的文件列出的左侧)。从那里,您将其添加到应用程序在info.plist 文件中提供的字体列表中(应该隐藏在支持文件中)。

现在你的应用程序应该有你的字体,并且有一个SKLabelNode。如果需要,您可以稍后设置它的文本。

【讨论】:

  • 嗨,伙计,感谢您的回复....虽然这还没有完全回答我的问题,但了解添加标准字体的步骤非常有用。深入研究这一点,我相信它更多的是我想要显示的位图字体/照片字体,因此是 .png 文件。再去挖掘一下,看看能不能找到答案
  • @Spoonfed 好吧,再多研究一下,似乎有人创建了处理位图字体的SKLabelNode 的变体。您可以通过教程找到它here。让我知道这是否有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多