Advertisement Jump to content
Sign in to follow this  
lilMeerkat

Is there a way to make text progressively appear as typed out on screen?

This topic is 1791 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've done a couple of projects in games so I know a small amount when it come's to game development but I'd still consider myself a beginner.

I'm currently working on an android game for a university project and was wondering how does one go about making text appear on the screen in a way that it seems like it's being typed letter by letter, similar to a pokemon game for example. I've tried googling some answers but to no avail.

 

I had an idea that involved a function affixing a string with the next character at small delta time intervals, but was wondering if there was a sure-fire universal way of getting it done, or if anyone knew of any tutorials?

 

Any help would be appreciated

Share this post


Link to post
Share on other sites
Advertisement

The answer heavily depends on what your programming language is (Java I presume), and what graphics library you're using, but it basically comes down to this: Make a class to encapsulate the "target" string and all of the logic required to "type" out the string. I'd probably have a variable that counts upwards whenever some update() method is called, and use that to progressively append the next character to an output string.

 

This gives you a basis to also add fancy particle effects or whatever you plan on doing in the future.

Share this post


Link to post
Share on other sites
I did such a feature my in graphical type a word game last year.

The idea is to have the "draw text graphics system" which is something you need to build on your own to do these things
1) update the text

these 4 parts will be in a loop
2) send updated text to your "draw text graphics system" which will parse each character of the word.
3) Make a comparison with the character of the word and the image of the character associated with that word.
4) draw that character on to the screen
5) update the xOffset because there needs to be a reasonable space apart from each character.

loop finishes when you have reached the last length of the word.

This is assuming of course you already loaded each image associated with the character to a list.

Java has built-in methods called substring(), charAt() and String.valueOf() that will help you manipulate the text. Just a few hints. biggrin.png Edited by warnexus

Share this post


Link to post
Share on other sites

 

Here is the basic Idea behind how I have done it recently.

 
var trgtString="String to type out!"
var typingSpeed=0.05
var startTime
 
Print(trgtString.Substring(0,Floor(time.Now()-startTime)/typingSpeed))

 

Randomize the typingSpeed value to get a more natural 'human' typing pattern - if that is what you want.  You can probably do something clever here, but random should look ok?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!