2010-11-19 16 views
20

Come utilizzare i caratteri TTF personalizzati nelle app per iPhone di Cocos2d?Uso di caratteri personalizzati in Cocos2d

+0

Ho fatto tutto questo e non riesco a farlo funzionare sul dispositivo, SOLO sul simulatore! Come faccio a farlo funzionare sul dispositivo? –

+0

Ho pubblicato un Q & A che risolve la maggior parte delle insidie ​​che sorgono quando si utilizza un carattere personalizzato in cocos2d. Controllalo se hai problemi ad aggiungere font personalizzati al tuo progetto. (http://stackoverflow.com/questions/14508675/how-can-i-add-a-font-to-my-cocos2d-ios-project-and-use-it-with-a-cclabelttf) – RLH

risposta

54

Ho cercato questo per un po 'e ho deciso di postare come domanda e risposta per le persone che volevano implementare.

La soluzione è abbastanza semplice.

  1. Trova i caratteri desiderati e scaricali. This website ha una vasta collezione di font gratuiti.

  2. Aggiungere i file di caratteri al progetto. alt text

  3. Aggiungere i nomi dei caratteri al file info.plist utilizzando l'array sottostante come esempio.

  4. Trova il nome del carattere; Fare doppio clic sul file del font e utilizzare il nome del font mostrato nel titolo della finestra. In questo esempio è "Action Man"

alt text

Per utilizzare il tipo di carattere un nome al modo in cui si farebbe normalmente:

CCLabel* myLabel = [CCLabel labelWithString:@"Some Text" fontName:@"Action Man" fontSize:18]; 

Aggiungi questo al file info.plist:

<key>UIAppFonts</key> 
<array> 
    <string>Action Man Bold.ttf</string> 
    <string>AdineKirnberg-S.ttf</string> 
</array> 
+1

Perché fare questo è un QA di Cocos2D? UIAppFonts funziona allo stesso modo in qualsiasi vecchia app iOS dove iOS> = 3.2.2 –

+0

Voglio aggiungere che questo metodo funziona anche con .ttc :) – magorich

18

In Cocos2D, è possibile includere il file di font con le risorse e quindi in fontName: fornire semplicemente il nome del file. Ad esempio:

CCLabelTTF *label = [CCLabelTTF labelWithString:@"whatever" fontName:@"FONTNAME.ttf" fontSize:18]; 

Questo è spesso più semplice del metodo che Hanaan ha pubblicato.

È necessario utilizzare lo stesso nome maiuscolo con lo stesso nome file.

Non è necessario aggiungere caratteri al file info.plist se lo si utilizza solo nei bit Cocos2D.

Se, come Confuso, si trova che il carattere funziona sul simulatore ma non sul dispositivo, è probabilmente un errore di capitalizzazione del nome file. L'iPhone è case-sensitive, il simulatore no.

+7

Questo non è il caso in cocos2d 2.0, CCLabelTTF userà solo UIFont per risolvere il problema carattere che vuoleCiò richiede l'aggiunta del TTF a Info.plist. – bshirley

+0

@bshirley, anche io sto affrontando lo stesso problema in cocos2d 2.0, dimmi dove aggiungere il nome del file del font ttf in plist. – Guru

+1

@Raj - la risposta è data sopra. Aggiungi TTF al progetto come risorsa. Aggiungi il file font a info.plist, chiave UIAppFonts che è una matrice con valori stringa (ad esempio "FooBar.ttf"). Assicurati di utilizzare FONT NAME nel codice e non il nome del file. Seleziona e ispeziona il font in Mac OS per raccogliere il nome del font effettivo che è codificato all'interno del file. (che potrebbe essere "Foo Bar BOLD") – bshirley

0

Poiché queste risposte sono obsolete, sono sicuro che la mia domanda/risposta aiuterà tutti quelli là fuori.

Importing fonts for cocos2dx iOS

questo è per iOS e Android carattere piattaforma di importazione, con una sola riga di codice!

Problemi correlati