game maker
Gebruikersnaam:
Wachtwoord:
Home Info Forums Help
Welkom, Gast. Alsjeblieft inloggen of registreren.
De activerings e-mail gemist?
+  Forums
|-+  Werken met Game Maker
| |-+  Gevorderden (Moderators: Erik Leppen, ericlegomeer, BlueMoonProductions)
| | |-+  Tiles uit .txt bestand lezen
Pagina's: [1]
« vorige volgende »
Print
Advertenties

hater92
Gebruiker


Offline Offline

Berichten: 1636

Heeft zijn eerste spel ooit gemaakt


« Gepost op: 27 Februari 2006, 15:53:36 »

Ik heb een vraag: hoe kun je bijvoorbeeld tiles aflezen uit een .txt bestand. Met aflezen bedoel ik dit. In een .txt bestand staat dit:

Code:
0,0,1,1,1,1,1,1,1,1,1,1,1
0,0,0,1,1,1,1,1,1,1,1,1,1
0,0,0,0,1,1,1,1,1,1,1,1,1
0,0,0,0,1,1,1,1,1,1,1,1,1
0,0,0,0,2,0,0,2,0,0,2,0,0
0,0,0,0,2,0,0,2,0,0,2,0,0
3,3,3,3,3,3,3,3,3,3,3,3,3


De 0 betekend niets en de 1 is gewoon rots en nummer 2 is een pilaar en nummer 3 is grond. Nu wil ik weten hoe je die cijfers kunt veranderen in tiles en dan ook op de goede plaats. Als je het niet snapt moet je het even zeggen.

Hater92 Cool


Naar boven Gelogd

Jeff van Hees
Oud-moderator


Offline Offline

Berichten: 1141


WWW
« Antwoord #1 Gepost op: 27 Februari 2006, 18:17:05 »

Dit is mogelijk maar bij tiles dient er ook een positie te worden opgegeven.
Ik heb een tutorial gemaakt over het lezen uit en schrijven naar bestanden.

Zie http://game-maker.nl/forums/viewtopic.php?t=545


Naar boven Gelogd

hater92
Gebruiker


Offline Offline

Berichten: 1636

Heeft zijn eerste spel ooit gemaakt


« Antwoord #2 Gepost op: 27 Februari 2006, 18:21:17 »

Ok bedankt! Daar kom ik vast wel verder mee. Knipoog

EDIT:
Ok, nou heb ik een systeem geschreven dat een 'tilemap' laadt. Alleen nu wil ik per regel een variabel maken alleen doe ik dat met repeat(hoogte). (Hoogt e is het aantal regels van het bestand.) Dit is nu mijn code:
Code:
//argumenten:
//argument0:hoogte
{

//hoogte instellen
hoog = argument0
nr=0

//tilemap bestand openen
file = file_text_open_read('tile1.txt')

//tilemap lezen
repeat (hoog)
{
regel = file_text_read_string(file)
file_text_readln(file)
nr+=1
}

//klaar
file_text_close(file)
}

Alleen nu wil ik dat de variabel 'regel' per regel veranderd dus bij regel 1 is de variabel regel regel1 en bij regel 2 is variabel regel regel2 enz. Hoe doe je dat? Ikzelf dat aan regel + nr en dan in de repeat loop nr+=1 zodat je regel1 regel2 enz krijgt maar dit werkt niet Treurig Heeft iemand een idee?

Hater92 Cool


Naar boven Gelogd

fransurk
Gebruiker


Offline Offline

Berichten: 304


« Antwoord #3 Gepost op: 27 Februari 2006, 20:22:50 »

Je moet de regels er steeds bij doen, en dan die repeaten!
zo krijg je dus 1+...
zodat je steeds verder komt!
ik denk dat dit wel werkt! Kijk maar ff

Naar boven Gelogd

hater92
Gebruiker


Offline Offline

Berichten: 1636

Heeft zijn eerste spel ooit gemaakt


« Antwoord #4 Gepost op: 27 Februari 2006, 20:56:39 »

dit werkt niet Treurig .....


Naar boven Gelogd

Erik Leppen
Forumbeheerder


Offline Offline

Berichten: 9655


WWW
« Antwoord #5 Gepost op: 28 Februari 2006, 07:13:22 »

Mischien kun je inplaats van losse variabelenamen regel1, regel2, een array regel[1], regel[2], ... gebruiken, dan kun je als positie binnen de herhaalloop als y-coordinaat  voor je tile de waarde regel[nr] opgeven.

EDIT: alle regels zijn toch even hoog? Je kan dan toch beter een variabele regelY maken, en die elke herhaalloop ophogen met je rasterhoogte? Dat je bijvoorbeeld begint bij 0 en dat je voor hte eind van de herhaalloop de code regelY += 32 plaatst?


Naar boven Gelogd

hater92
Gebruiker


Offline Offline

Berichten: 1636

Heeft zijn eerste spel ooit gemaakt


« Antwoord #6 Gepost op: 28 Februari 2006, 10:21:34 »

Ey jongens, mijn neef is er vandaag en heeft het script herschreven voor me.

Code:
//tilemap lezen
repeat (hoog)
{
tijdelijk = file_text_read_string(file)
file_text_readln(file)
sindex = 0
x_as=0
for (index=1; index < string_length(tijdelijk); index+=1)
    {
        if (string_char_at(tijdelijk, index)=",")
        {
            for (sindex +=1;sindex < index; sindex+=1)
                {
                    tijdelijk2 = tijdelijk2 + string_char_at(tijdelijk,sindex)
                }
            tile_map[x_as,nr] = real(tijdelijk2)
            tijdelijk2 = ""
            sindex = index
            x_as +=1
        }
    }
nr+=1
}

//klaar
file_text_close(file)
show_message(string(tile_map[2,3]))
}


En nu werkt het wel.  |8D


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-2019 Nederlandse Game Maker Community