2015-10-10 67 views
1

首先,我很抱歉,如果這已被問到以前..我仍然非常尋找我的腳與編碼,我不完全確定我會看着正確的答案,如果它在我面前是正確的,因此我放棄並張貼在這裏尋求幫助!Cocos2d - > Swift SpriteKit - CCLabelAtlas charmap的功能

幾年前,我在Cocos2d中停留了一段時間,並且有一種將自己的字體添加到標籤的非常有用的方法,我想知道是否可以在sprite工具包中完成相同的工作?

看這裏,這是怎麼會在我的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

這甚至有可能嗎?

(很多感謝和抱歉,再次爲的n00b問題!)

+0

[爲iOS添加自定義字體](http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/) – WangYudong

回答

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。如果需要,可以稍後設置它的文本。

+0

嗨,夥伴,感謝您的回覆.. ..雖然這還沒有很好地回答我的問題,但它對了解添加標準字體的步驟非常有用。深入研究這一點,我相信它更多的是我想要顯示的位圖字體/ photofont,因此是.png文件。繼續挖掘更多內容,看看我能否找到答案 – Spoonfed

+0

@Spoonfed好吧,再仔細看看這個,看起來有人創建了一個處理位圖字體的'SKLabelNode'變種。你可以在教程中找到它[http://www.bmglyph.com/tutorials-spritekit-bitmap-font/]。讓我知道這是否有效。 – Gliderman