Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/glitchroy/textboxy
Simple textboxes for Game Maker Studio 2
https://github.com/glitchroy/textboxy
gamemaker gms2 library
Last synced: 6 days ago
JSON representation
Simple textboxes for Game Maker Studio 2
- Host: GitHub
- URL: https://github.com/glitchroy/textboxy
- Owner: glitchroy
- License: mit
- Created: 2018-04-22T11:40:53.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-03-05T19:21:41.000Z (over 1 year ago)
- Last Synced: 2024-08-02T07:09:23.716Z (3 months ago)
- Topics: gamemaker, gms2, library
- Language: Game Maker Language
- Size: 2.09 MB
- Stars: 63
- Watchers: 5
- Forks: 7
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-gamemaker - Textboxy - Simple textboxes. (User Interface / Recommendations)
README
# textboxy
Twitter: @glitchroy`textboxy` is using [scribble by @JujuAdams](https://github.com/JujuAdams/scribble). If you are looking for the old version, please see the [`textboxy-legacy`](https://github.com/glitchroy/textboxy-legacy) repo.
In short, `textboxy` is a **message box management system** for GameMaker Studio 2.3 and up. The goal of `textboxy` is to provide a simple system for RPG-styled message boxes, either as a classic "textbox" (think Dragon Quest or Final Fantasy) or a "speech bubble" (something like the Mario & Luigi series). The messages should use a "typing" effect with sound.
Commands are defined in a simple queue, examples are pausing, setting and jumping to labels, changing message box properties and, of course, showing message boxes. Advanced features like flow control using conditionals are also implemented.
Features:
- Drop-in solution for RPG styled textbox systems, either as standalone message boxes or "speech bubbles"
- Powerful text system with a lot of built-in effects and control codes, courtesy of [scribble by @JujuAdams](https://github.com/JujuAdams/scribble)
- Easy to understand queue system, modeling the flow of the conversation
- Management of line breaks and distribution of message boxes - you only need to focus on writing the content
- Automatic linking of speech bubbles and speaker objects
- Options to hook into the queue itself via callbacks
- Global config script to manage defaults and input options
- You can define your messages directly in GML, with support for external files plannedDue to the new GMS 2.3 update, the syntax is once again a work in progress, too. This is an example of how it looks currently:
```gml
var c = new TbyChain([
new TbyChunk().add.box("This will show a message box!"),
new TbyChunk().add.label("label1"),
new TbyChunk().add.bubble("This will show a speech bubble above obj_talker!", instance_find(obj_talker, 0)),
new TbyChunk().add.execute(show_message, "This executes a built-in script!"),
new TbyChunk().add.branch(function() { return mouse_x < room_width/2 },
[
new TbyChunk().add.box("This executes if your mouse cursor is on the left side of the screen!"),
],
[
new TbyChunk().add.box("This would execute if the mouse cursor is on the right.")
]
),
new TbyChunk().add.box("Either way, you will resume the chain right here!"),
new TbyChunk().add.pause(1),
new TbyChunk().add.config("instance", instance_find(obj_talker, 0)),
new TbyChunk().add.bubble("Now I don't need to specify a speaker anymore, since I set the chains' config!"),
new TbyChunk().add.box("Let's start from the beginning...", "middle"),
new TbyChunk().add.goto("label1")
]);c.run();
```If you have feedback regarding the syntax, you can open an issue or message me.
Please excuse the lack of documentation or release builds. I'm trying to get to a working release as fast as possible!