I'm going to be making a Bitmapped font object, also known 'round these here parts as a Text Blitter:
for those who don't know, this is where you have a separate sprite for each letter, so you can type some text, and have it come on screen like this:
<img src="http://www.zone38.net/font/bmpfonts.png">
I want it to be as easy as possible and as powerful as possible to use. The purpose of this thread is to take suggestions, and release the most complete solution possible. It will be easier to build it correctly the first time, than to add features later.
so far, these are the features I'd like to include, and how some of it will work. If the operations I suggest sound annoying or tedious, please feel free to suggest a better workflow.
First you need to get your letter images into construct.
I have two methods I have thought of that seem like the simplest to me. I plan for the plugin to support both. If I have missed an input method you would like to see, please reply and suggest.
first is a fontstrip, you would choose a sprite like this:
<img src="http://cg.scs.carleton.ca/~luc/IpsumPlanet-Barcoda-new-font3-2006.jpg">
Only the extra words at the bottom would be cut off, so it would just be the list of characters
you tell construct how many letters across and down, and then specify the order of the letters
I think there should be a few methods to do this,
1.in ASCII order. Many font strips you see will be in this order anyway. And you can specify a range...for instance if you had a font strip just for 0-9
you would choose the action
Get Font From Font Strip,
tell the x size,
the y size,
then there would be a drop down list of the first Character, where you could select 0
and the last character, where you could select 9
and that would be it for the first method
the second would be to specify a list of all the characters, so basically, you call the action, and type in:
"ABCDEFGHIJKLM"
etc., that way if the one perfect font just isn't on an ascii ordered strip, you can specify your own order.
also, you should be able to combine imported fonts, so if you imported 0-9, and A-Z, separately, you can tell the object that this is still one font.
you can define an offset if you want them to be spaced closer or further than the borders of each sprite when you type
the other way to import the sprites for your font strip would be through the animation editor
you have a directory with one sprite per character, import those into the frames, call the action as above, except you wouldn't specify x and y values for an imported animation.
with this method you could have vastly different sizes for each character. you will be able to specify the spacing with an imagepoint to override the spacing that you set. Also, you should be able to set the spacing at the borders of the sprites,
or from the hotspot, so you can easily make cursive or graffiti style fonts that overlap uniformly
you will be able to set the size, of course, (and rescale it nonuniformly, to squash or stretch the "fonts") and the angle. as well as whether text is centered, left, or right justified. I will try to make the first version realtime editable, so a player can type in their name for instance, and it will appear as they type, along with backspace. This will take longer than the other features, though, so it may come later. Another thing I'd like to have is being able to set the width of the typing space, so you can have automatic word wrap...
anyway, when it's all ready and done, you use the TextBlit Action "Hello, World" at 40,500,200
and it would type it to screen with your bitmaps instead at xy 40,500, and at zdepth 200
please feel free to make suggestions, especially if you have a good idea to streamline the way you set what sprites you want for fonts. Don't worry about how it will work, or if it can work, just tell me what would be easiest
Also, I'm trying to develop any plugin I can to add general functionality to Construct. Like the Custom Keys plugin, this is a feature that can be used by almost anyone, and is used in a large number of polished titles. If you can think of any type of basic useful functionality you'd like to see in construct, that is not already planned by the devs, and is generally useful to anyone trying to make a finished game, please suggest it here. As a disclaimer, I will say, I can't do things like make an online plugin. Think of things you can already do with construct, but would take forever, and cause you to have to slow down the breakneck pace that Construct usually let's you develop in
I will be developing plugins to fill those gaps.
Edit: Mods and Devs, please let me know if this is the wrong forum to post this. Plugins forum is mostly frequented by plugin devs, and aspiring plugin devs, and I wasn't sure if
Feature requests: Suggest and discuss specific additions to Construct and to plugins
would be appropriate. I want make this a complete and useful plugin, for as many users as possible, but I don't want to impose, botlike, upon the wrong forum, because there will probably be a handful of plugins in the Useful Series.