textboxy is a simple message system for GameMaker Studio 2.
Using a queue made up of commands, you construct a message tree and then execute them in order.
You can download an example project (the .zip file) or look at the example code.
- A global config script to adjust the engine without having to dig into the code at all
- Control codes for changing text properties like color, speed, font, pauses, as well as position and size of the message box
- Automatic line breaks based on a maximum width and special characters like whitespace and commas
- Easy linking between message boxes and "speaker" instances, automatically updating the message box position
- Basic options for text sound
- Basic callbacks
- Profiles for keeping track of your instances properties (sound, speed etc.)
- Simple skins based on sprites
Here is an example of what you can do!
/// @description Message code var playerProfile = tbyCreateProfile(global.player, sndPlayer, 2); var myProfile = tbyCreateProfile(id, sndBlue, 2); tbyReset(); tbyProfile(myProfile); tby("Man,[.] life sure is boring around here[.].[.].[.].[.]") tbyPause(room_speed/4); //quarter second tby( @"Hey, you there![..] Tell me something about [c/red]your adventures[r]!") tbyProfile(playerProfile); tbyAddAction(TbyAction.SetSpeed, 3); tby("Um..."); tbyPause(room_speed) tbyProfile(myProfile); tby("Come on![.] I need excitement in my life!") tby("How about some [j]spooky stories[r]?") tbyProfile(playerProfile); tby("I'm sorry,[.] I don't have anything to tell you.") tbyPause(room_speed); tby("Can I go now?") tbyStart();
I hope you like it! If you have feedback, you can reach me here, on Twitter, on GitHub or on the Marketplace!
Fonts used in the banner and examples:
AppleKid by GieGue
m5x7 by Daniel Linssen
mago by magodev
Volter by cocoFabien