Jump to content

Which proper way to use bitmap fonts and filters in Phaser


andrii.barvynko
 Share

Recommended Posts

Hi there!

I have a problem with bitmap fonts. I want create custom bitmap font via "literra" and adjust several filters by Phaser. But I don't know what is propper way to use filters in phaser.

 

I need something like that at result

 

2015-11-25_0122.png

 

I could add filters instantly in literra, but filters apply for separate symbols only and looks terrible

 

2015-11-25_0125.png

 

Two strokes and drop shadow. Is it possible to do that in Phaser? Maybe I shouldn't use bitmap fonts and phaser have other hack?

 

 

 

 

Link to comment
Share on other sites

You could render your word to a texture/BitmapData, process pixels on the BitmapData to make a white silhouette of your word and scale it slightly bigger, then insert it behind the original word.

 

Look here for how I made a sillhouette http://www.html5gamedevs.com/topic/18256-masking-a-sprite-with-a-complex-shaped-image/

 

for the dropshadow I guess you could make a black copy and add the available blurX/blurY filters.

 

Maybe there's an outline filter, but I haven't looked

 

when I get back to my PC tomorrow I'll try and do an example

Link to comment
Share on other sites

Oh, yes, the most words is static. Cached images seems like a great solution, thank you! Unfortunatelly, I have no ideas about realization in phaser. Would you be so kind to give me some example?

And one more question... If I have many languages in game and many texts, could caching take a lot of time (especially on mobile devices)? I think it might be, and it is care me.

Link to comment
Share on other sites

my bad.. scaling doesn't quite come out how i'd intended

http://phaser.io/sandbox/jhtctOQP/play

 

can you create a webfont out of the littera font? then you could pull it in as live text, apply the filters 

http://phaser.io/examples/v2/text/text-shadow-stroke

 

and then cache the result as a bitmap (normal text is relatively slow, so not ideal for text that is present constantly)

 

in your case though the double stroke is an issue as phaser won't support that directly...

 

there are CSS tricks to do that but I'm not sure about the implementation 

https://www.petercarrero.com/examples/stroke/

 

 

note however you can use .generateTexture() to turn text into a bitmap texture

http://phaser.io/sandbox/mbcxSXJl/play

 

ps i don't think filters work in Canvas mode, only WebGL mode. might need a different approach depending

Link to comment
Share on other sites

Thank you a lot! You are very kind, your examples were very useful for me! 

 

Yea... Unfortunatelly silhouette works badly. It's a pity. So...

Last two days I was playing with web fonts. They look batter but I have a many problems with them too.

Assume I don't need double stroke. I converted my current fonts via "fontsquirrel" to webfont and get my .woff2 font file. I included it into css file in @font-face, added link in index.html and load fonts in preloader as well as in your example. After that I launched my project in localhost. And here what I had:

 

At first I had a strange error in webstorm

 

2015-12-01_2336.png

 

In chrome It looks like this:

 

http://fonts.googleapis.com/css?family=chumbly_brknormal    Failed to load resource: the server responded with a status of 400 (Bad Request)

 

but in chrome I saw the result - my word was created and was added:

 

2015-12-01_2344.png

 

In firefox i hadn't seen anything (localhost). Just strange error:

 

EncodingError: The given encoding is not supported.

 

If I load game to real server sometimes I see text and sometimes not...

 

Do you have any ideas what I doing wrong?)
Link to comment
Share on other sites

Yes, it's my crazy way ;)

But how to use my custom web font? Google fonts so poor...

Hm... and why my way worked?))) Partly, but still worked))

Not a matter... Google fonts works fine on android native browser, and I will used them. Sometimes fonts doesn't loaded and I need to reload my game. But I think I fix it by myself.

thank you a lot! You are my font hero :D

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...