game maker
Gebruikersnaam:
Wachtwoord:
Home Info Forums Help
Welkom, Gast. Alsjeblieft inloggen of registreren.
+  Forums
|-+  Werken met Game Maker
| |-+  Beginners (Moderators: Erik Leppen, ericlegomeer, BlueMoonProductions)
| | |-+  Hulp met maken van tekstbox
Pagina's: [1]
« vorige volgende »
Print
Advertenties

Pkmnmaker
Gebruiker

Offline Offline

Berichten: 1


« Gepost op: 4 Juli 2016, 17:28:59 »

Hoi allemaal,

ik wil dus een pokemon game maken in game maker, maar ik heb een probleem..
In mijn kamer waar de professor zichzelf voorstelt en je je naam moet opgeven heb ik het volgende probleem:

Mijn professor bestaat uit twee sprites, eentje met een pokeball in zn hand en eentje zonder.
Ik heb ook een tekstbox in de kamer. Nu wil ik dus dat de professor (terwijl hij een pokeball in zn hand heeft) zich voorstelt (d.m.v. een tekstbox) en wanneer dat tekstbox dan voorbij is, wil ik dat
1) de professor verandert in een sprite zonder pokeball
2) een pokemon ineens verschijnt in de kamer

dit zijn mijn codes:
-Tekstbox, create event:

text1 = "Professor Oberon:"
text2 = "Well hello there young trainer!"
text3 = "My name is Professor Oberon"
text4 = "As a professor I study the behaviour of this creatures we call... "
text5 = "Pokémon!"
text6 = "Take a look at this one for example:"

talk = 1

spd = 0



-Tekstbox, draw event

draw_set_color(c_white);
draw_set_halign(fa_left);
draw_set_alpha(.5);
draw_sprite(spr_Textbox_1,0,0,360)

draw_text_colour(30,370,text1,c_red,c_red,c_red,c_red,1)

if talk = 1 {
draw_text_colour(30,370,text1,c_red,c_red,c_red,c_red,1)
spd +=0.5
}
if talk = 2 {
draw_text(30,385,text2)
spd +=0.4
}
if talk = 3 {
draw_text(30,385,text3)
spd +=0.3
}
if talk = 4 {
draw_text(30,385,text4)
spd +=0.4
}
if talk = 5 {
draw_text(30,385,text5)
spd +=0.5
}
if talk = 6 {
draw_text(30,385,text6)
spd +=0.5
}

if keyboard_check_pressed (vk_space) {
talk += 1
spd = 0
}

if talk > 6
    instance_destroy ()


Iemand enig idee hoe ik hierin kan verwerken dat wanneer 'talk 6' voorbij is, obj_prof van sprite veranderd en obj_pokemon verschijnt?

Alvast heel erg bedankt als het lukt!!!!!

« Laatste verandering: 7 Juli 2016, 12:03:44 door kaasje »
Naar boven Gelogd

Ceymoonie
Gebruiker


Offline Offline

Berichten: 4839


WWW
« Antwoord #1 Gepost op: 4 Juli 2016, 22:13:18 »

Je zou een array kunnen gebruiken voor de tekst, dit maakt het veel makkelijker om tekst toe te voegen en je kan dan gewoon een actie laten uitvoeren als de array hoger dan 6 is.
http://www.game-maker.nl/forums/topic,40947.0

Naar boven Gelogd

ShroomProductions
Gebruiker


Offline Offline

Berichten: 1374


« Antwoord #2 Gepost op: 7 Juli 2016, 15:05:26 »

GML:
if talk > 6
    // hier is je text afgelopen
    //dus hier kun je de sprite_index van obj_prof veranderen
    obj_prof.sprite_index = DE_SPRITE_DIE_HET_MOET_WORDEN
    //en met instance_create een pokemon laten spawnen
    instance_create(x, y, obj_pokemon)
    //
    instance_destroy ()

« Laatste verandering: 7 Juli 2016, 15:08:48 door ShroomProductions »

Naar boven Gelogd

altf4
Gebruiker

Offline Offline

Berichten: 13


« Antwoord #3 Gepost op: 8 Juli 2016, 01:34:05 »

Hallo,

Omdat je nu bezig bent met het begin van het spel lijkt het mij handig om er rekening mee te houden dat je nog veel meer textboxen gaat gebruiken.

Ik zou dit algemener aanpakken door een script te gebruiken:
GML:
var txtbx = instance_create(0, 0, obj_textbox);
for(var i = 0; i < argument_count; i++){
    txtbx.text[i] = argument[i];
}
txtbx.total = argument_count;
txtbx.cur = 0;

Dit script creert een object genaamt obj_textbox en geeft deze een array "text" met alle argumenten mee en de lengte van deze array.

vervolgens kun je in de draw event van obj_textbox iets doen als:
GML:
draw_text(32, 32, text[cur]);

if(keyboard_check_pressed(vk_space)){
    cur++;
}
if cur == total{
    instance_destroy();
}

Deze draw code kun je natuurlijk aanpassen hoe je wilt maar als je nu een object een text wil laten weergeven kun je gewoon dit script aanroepen:

DrawText("blablabla", "pokemon blabla", "einde verhaal");

let op dat deze methode wel beperkt is tot 16 arugmenten.

hoopt dat dit je een beetje help!




Naar boven Gelogd

Advertenties
« vorige volgende »
Pagina's: [1]
Print


Topic Informatie
0 geregistreerde leden en 1 gast bekijken dit topic.

Ga naar:  

Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines
www.game-maker.nl © 2003-2021 Nederlandse Game Maker Community