2013-09-25 19 views
12

Próbuję wczytać niestandardową czcionkę do Pixi.js (framework 2D WebGL).Niestandardowa czcionka w Pixi.js

Mają przykład stosując .woff google czcionek:

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

konwertowane mój .ttf do .woff i dodanej w CSS:

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

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

To pokazuje w moim div, ale nie na moim etapie Pixi.

... 
    // 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

Czy to możliwe, że nie ma źródła wymienionego w linii? Podobnie jak '.woff'? – Brendan

+2

W przykładzie GoodBoy wstępnie ładują czcionkę, nie jesteś pewien, czy masz problem z css. spróbuj ustawić '{font:" 160px HU_Adrien, arial "..." i sprawdź czy przynajmniej otrzymujesz SMS-a. –

Odpowiedz

6

trzeba konwertować HU_A0046.woff z http://www.angelcode.com/products/bmfont/ narzędzie do formacie HU_A0046.XML a następnie dodać nazwę pliku na liście napięcia wstępnego. Następnie należy zadzwonić PIXI.Bitmaptext

Przykład:

... 
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

Aby korzystać czcionek niestandardowych internetowej z Pixi trzeba użyć API czcionek Google Web z nim można korzystać z czcionek internetowych Google i inne CDN, a także własne lokalne czcionek internetowych można przeczytać więcej na 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> 

W tym przykładzie plik fonts.css może wyglądać SOMET hing tak:

@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: ...; 
} 

* ważne jest, aby zacząć używać czcionki po są renderowane

* zamienić czcionkę za pomocą narzędzia jak: http://www.font2web.com/

* to daje potrzebną czcionkę internetową pliki i kod css dla niestandardowych czcionek