Een eenvoudig tekstsysteem dat handig kan zijn bij consoles
GM-versie: Game Maker 7 en Game Maker 8 (eerder zou moeten werken, niet getest!)Moeilijkheids: beginners
Hallo iedereen,
voor een spel dat ik binnenkort ga maken heb ik mijn eigen tekstsysteem gemaakt. Dit systeem is nog heel basic en dus geschikt voor jou spel indien je er zelf nog dingen bij aanpast Je moet zelf weten hoe je dit gebruikt. Met een paar simpele en eenvoudige scripts maak je in no-time een simpel tekstsysteem dat gebruikt kan worden voor consoles of gewoon als een chatmanier
Dit is gewoon een basis zodat je zelf snel dingen kunt aanpassen, editen mag of beter gezegd moet XD
txt_init()
Gebruik dit in het create event van obj_controller om het systeem te starten
//argument0 = starttext
global.text=argument0;
global.addtype=0;
global.cursorline=1;
global.cursorlinetime=0;
txt_draw()
Gebruik dit in het draw event van obj_controller om de tekst te drawen
//Argument0: x
//Argument1: y
if (global.addtype==0)
{draw_text(argument0,argument1,global.text);}
if (global.addtype==1)
{
if (global.cursorline == 1)
{draw_text(
argument0,
argument1,
string(global.text)+string(keyboard_string)+string('|')
);}
if (global.cursorline == 0)
{draw_text(
argument0,
argument1,
string(global.text)+string(keyboard_string)
);}
}
if (global.cursorlinetime > 30)
{
global.cursorlinetime = 0
if (global.cursorline = 0)
{global.cursorline = 1}
else
{global.cursorline = 0}
}
global.cursorlinetime += 1;
txt_addline() Gebruik dit script om een lijn in je spel toe te voegen.
//Argument0: text
global.text += string('#')+string(argument0);
txt_asklineadd()
Gebruik dit om een lijn toe te voegen aan de tekst en om vervolgens iets te kunnen typen.
//Argument0: text
global.addtype = 1
keyboard_string = '';
global.text += string('#')+string(argument0);
txt_enter()
Zet dit in de enter-event van obj_controller om te returnen wat keyboard string is. Vergeet niet om je eigen code te maken als er niks gereturnt wordt!
//No arguments
//Returns the text that has been entered
if (global.addtype==1)
{
var ret;
ret = keyboard_string;
global.text = global.text+string(keyboard_string);
keyboard_string = '';
global.addtype = 0;
return ret;
}
txt_clear()
Zet dit ergens als je wilt dat de hele lap tekst wilt verwijderen
//No arguments
global.text='';
global.addtype=0;
global.cursorline=1;
global.cursorlinetime=0;
Bjarno.be
Bjarno
Bjarnovikus
Reactie's op Tekst-systeem voor consoles
| Laloeka | 17/08/2010 00:34.20 | |
| Hmm, je string wordt naar mate je meer tekst toevoegt, steeds langer. Ik denk dat je beter met arrays ofzo kunt werken en deze doorschuiven zodra je over global.maxlines bent (voorbeeld) :) | ||
| Bjarno | 17/08/2010 09:16.19 | |
| Hmmmz, je hebt gelijk :) Deze tutorial is echter al een verouderde tutorial van mij (toen ik nog niets van arrays kende :P ). Misschien maak ik hierop nog een uitbreiding met arrays, kleuren, alpha en verschillende fonts :) | ||
