Warning: The magic method EDD_Blocks::__wakeup() must have public visibility in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/edd-blocks-master/edd-blocks.php on line 101

Warning: The magic method EDD_Blocks::__wakeup() must have public visibility in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/edd-blocks/edd-blocks.php on line 101

Warning: The magic method GAINWP_Manager::__wakeup() must have public visibility in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/ga-in/gainwp.php on line 78

Deprecated: Optional parameter $filter declared before required parameter $metric is implicitly treated as a required parameter in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/ga-in/tools/gapi.php on line 555

Deprecated: Optional parameter $filter declared before required parameter $metric is implicitly treated as a required parameter in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/ga-in/tools/gapi.php on line 585

Deprecated: Optional parameter $filter declared before required parameter $metric is implicitly treated as a required parameter in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/ga-in/tools/gapi.php on line 617

Deprecated: Optional parameter $filter declared before required parameter $metric is implicitly treated as a required parameter in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/ga-in/tools/gapi.php on line 651

Deprecated: Optional parameter $filter declared before required parameter $metric is implicitly treated as a required parameter in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/ga-in/tools/gapi.php on line 686

Deprecated: Optional parameter $filter declared before required parameter $metric is implicitly treated as a required parameter in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/ga-in/tools/gapi.php on line 745

Deprecated: Optional parameter $filter declared before required parameter $metric is implicitly treated as a required parameter in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/ga-in/tools/gapi.php on line 785
Using Google Fonts In Phaser - Phaser Games
Deprecated: Automatic conversion of false to array is deprecated in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/publitio-offloading/includes/class-publitio-offloading.php on line 577

Deprecated: Automatic conversion of false to array is deprecated in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/publitio-offloading/includes/class-publitio-offloading.php on line 577

Using Google Fonts In Phaser


Deprecated: Automatic conversion of false to array is deprecated in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/publitio-offloading/includes/class-publitio-offloading.php on line 577

Deprecated: Automatic conversion of false to array is deprecated in /home/wcc1969/public_html/phasergames.com/wp-content/plugins/publitio-offloading/includes/class-publitio-offloading.php on line 577

Fonts Before Html5

When I was using Flash, fonts could be a real pain. First I had to have the font installed on my computer. Then I had to embed it within the file. This made the file size go up. Back in 2005 when I was making games for the Japanese phone market, this was an issue. We had to keep the files preferably under 50K and in no cases over 100K.  Yes, that’s right, the Japanese had flash working on their phones 2 years before the iPhone came out, but that’s another story. What if I didn’t have a font the client wanted? Trying to find the free font that they are in love with, can be quite a chore. I won’t even get into telling you about glyphs and foreign alphabets! It was a nightmare!

Enter Google Fonts!

Now things are so much easier. When a client or artist now asks me about a font I don’t have, I just ask them if we can use a Google font. Usually, the response is, “Let me check!”. Then they go font shopping! So far everyone has font something they like and then they just give me the name of the font and I plug it into Phaser. No downloads, No cost, and no file size increase. The loading time is not really affected if only using a couple of fonts.

Using Google Fonts In Phaser

Here is the code I use for loading a Google Font in Phaser. I place it in a script called fontLoader.js

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

To select a font, go to fonts.google.com and look for a font you like.

Then press the add button.

The bar on the bottom of the screen will tell you that you have selected a font family.

Click to expand

Copy the font-family name in this case Baloo Bhai

Copy the font name into your fontLoader.js file

families: [‘Baloo Bhai’]

Here is a working example

First the code

FontLoader.js

WebFontConfig = {
google: { families: ["Fresca","Flamenco","Indie Flower"] }
};
(function() {
var wf = document.createElement('script');
wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
'://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();

StateMain.js

var StateMain = {
    preload: function() {},
    create: function() {

        //one second delay to make sure the fonts have loaded
        //9 times out of 10 you won't need this!
    	game.time.events.add(Phaser.Timer.SECOND, this.makeText, this);

    },
    makeText: function() {
        this.text1 = game.add.text(game.width / 2, 100, "Some Text Here");
        this.text1.fill = "#ffffff";
        this.text1.anchor.set(0.5, 0.5);
        this.text1.font = "Fresca";
        //
        //
        this.text2 = game.add.text(game.width / 2, 200, "On Fire!");
        this.text2.fill = "#ff0000";
        this.text2.stroke = "#ffff00";
        this.text2.strokeThickness = 6;
        this.text2.anchor.set(0.5, 0.5);
        this.text2.font = "Flamenco";
        //
        //
        //
        this.text3 = game.add.text(game.width / 2, 300, "Some Text Here");
        this.text3.fill = "#00ff00";
        this.text3.anchor.set(0.5, 0.5);
        this.text3.font = "Indie Flower";
    },
    update: function() {}
}

And the result!

Open in new tab

So get fancy with your text! Add some Google Fonts to your Phaser games!

1 thought on “Using Google Fonts In Phaser”

Leave a Comment