2013-09-25 22 views
12

Ich versuche, eine benutzerdefinierte Schriftart in Pixi.js (2D WebGL-Framework) zu laden.Benutzerdefinierte Schriftart in Pixi.js

Sie haben ein Beispiel unter Verwendung von .woff Fonts google:

https://github.com/GoodBoyDigital/pixi.js/tree/master/examples/example%2010%20-%20Text

ich meine .ttf und in CSS hinzugefügt .woff umgewandelt:

@font-face 
{ 
    font-family: "HU_Adrien"; 
    src: local('HU_Adrien'), url('HU_A0046.woff') format('woff');; 
} 

div.font{ 
    font-family: "HU_Adrien"; 
    color: white; 
} 

Es zeigt in meinem div aber nicht in meiner Pixi-Bühne.

... 
    // create a text object with a nice stroke 
    var spinningText = new PIXI.Text("I'm fun!", {font: "160px HU_Adrien", fill: "#cc00ff", align: "center", stroke: "#FFFFFF", strokeThickness: 6}); 
    // setting the anchor point to 0.5 will center align the text... great for spinning! 
    spinningText.anchor.x = spinningText.anchor.y = 0.5; 
    spinningText.position.x = 620/2; 
    spinningText.position.y = 400/2; 
... 
+0

Könnte es sein, dass Sie nicht die Quelle in der Zeile aufgeführt haben? Wie das '.woff'? – Brendan

+2

Im GoodBoy-Beispiel laden sie die Schriftart vor, nicht sicher, ob Sie ein Race-Problem mit CSS haben. versuchen Sie es mit '{font:" 160px HU_Adrien, arial "...' und sehen Sie, ob Sie wenigstens Text bekommen. –

Antwort

6

Sie benötigen HU_A0046.woff mit http://www.angelcode.com/products/bmfont/ Werkzeug HU_A0046.XML-Format konvertieren und dann die Dateinamen in die Vorbelastung Liste hinzufügen. Dann sollten Sie PIXI.Bitmaptext nennen

Beispiel:

... 
var loader = new PIXI.AssetLoader(/*more media...*/, ["HU_A0046.xml"]); 
var spinningText = new PIXI.BitmapText("I'm fun!", { font: "35px FontName"}); //You can see the font name within the XML 
spinningText.position.x = 620/2; 
spinningText.position.y = 400/2; 
... 
2

Um eine benutzerdefinierte Web-Schriftart mit PIXI verwenden Sie die Google-Web-Font-api damit verwenden möchten, können Sie Web-Schriftarten verwenden aus Google und andere cdns sowie Ihr eigenes lokales Webfonts Sie können mehr bei https://github.com/typekit/webfontloader

<script> 
    WebFontConfig = { 
    typekit: { id: 'xxxxxx' }, 
    google: { 
     families: ['Droid Sans', 'Droid Serif'] 
    }, 
    custom: { 
     families: ['My Font', 'My Other Font:n4,i4,n7'], 
     urls: ['/fonts.css'] 
    }, 

    active: function() { 
     // do something 
     init(); 
    } 
    }, 

    active: function() { 
    // do something 
    init(); 
    } 
    }; 

    (function() { 
    var wf = document.createElement('script'); 
    wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + 
       '://ajax.googleapis.com/ajax/libs/webfont/1.5.6/webfont.js'; 
    wf.type = 'text/javascript'; 
    wf.async = 'true'; 
    var s = document.getElementsByTagName('script')[0]; 
    s.parentNode.insertBefore(wf, s); 
    })(); 
</script> 

lesen In diesem Beispiel könnte die fonts.css Datei somet aussehen Hing wie folgt aus:

@font-face { 
    font-family: 'My Font'; 
    src: ...; 
} 
@font-face { 
    font-family: 'My Other Font'; 
    font-style: normal; 
    font-weight: normal; /* or 400 */ 
    src: ...; 
} 
@font-face { 
    font-family: 'My Other Font'; 
    font-style: italic; 
    font-weight: normal; /* or 400 */ 
    src: ...; 
} 
@font-face { 
    font-family: 'My Other Font'; 
    font-style: normal; 
    font-weight: bold; /* or 700 */ 
    src: ...; 
} 

* ist es wichtig, mit der Schriftart zu starten, nachdem sie

* wandeln Sie Ihre Schrift dargestellt sind mit einem Tool wie: http://www.font2web.com/

* es wird Ihnen die benötigte Web-Schrift geben Dateien sowie die css Code für Ihre benutzerdefinierten Schriftarten

Verwandte Themen