Neue Welt - neu Zeichnen
Übersicht![](/themes/Standard/arrow.png)
![](/themes/Standard/arrow.png)
![]() |
JackBetreff: Neue Welt - neu Zeichnen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, ich habe letzte Woche ein Arcadespiel geproggt, und wollte heute mit einem simplen RPG anfangen. Mein Problem:
Ich habe alle Welten(bisher 2) in einer Textdatei gespeichert(ich benutze kein Scrolling). Wenn die Figur nun allerdings die erste Welt verlässt(SpielerZ <= 0), erscheint folgende Fehlermeldung: "Index Array out of Bounds". Die Textdatei wird außerhalb der Repeat-Schleife geladen. Wie mache ich es, dass mein Programm(die Figur wird pro Tastendruck um 32 Pixel bewegt, ist aber nicht animiert) dann(SpielerZ <= 0) die Textdatei Welt2.txt lädt? Hat jemand vielleicht eine Funktion für mich parat? Bitte, bitte helft mir! |
||
Wer kein HTML kann und lernen will, der ist wirklich dumm... MFG Dennerlein |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Zeigmal dein bisherigen Quellcode. Denke du versuchst auf Arrayfelder zuzugreifen die es nicht gibt. grüße |
||
![]() |
Ofenrohr |
![]() Antworten mit Zitat ![]() |
---|---|---|
du machst den laden teil, der bisher vor deiner repeat schleife steht in eine funktion, in der man den pfad von der txt angeben kann.
dann machst du vor dem repeat diese funktion mit dem pfad vom ersten level. in der schleife kannst du dann bei deiner bedingung ein anderes level laden. welches kannst du ja bestimmen, indem du schaust, wo der spieler sich grade befindet und wo er aus dem bild läuft, wenn ich deinen text richtig verstanden habe. mfg ofenrohr |
||
Ofenrohr.net |
![]() |
Jack |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, sorry, dass ich mich nicht so lange gemeldet habe. Naja, hier ist mein Code:BlitzBasic: [AUSKLAPPEN] ; IWDD.BB Bitte, bitte helft mir! |
||
Wer kein HTML kann und lernen will, der ist wirklich dumm... MFG Dennerlein |
![]() |
Jack |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry wegen Doppelpost. Ich habe auch schon die Möglichkeit mit der Funktion ausprobiert. Es erscheint keine Fehlermeldung, aber die Figur lässt sich nicht mehr bewegen!
Bitte helft mir, ich verzweifle schon fast!!! |
||
Wer kein HTML kann und lernen will, der ist wirklich dumm... MFG Dennerlein |
![]() |
HellfrontBetreff: Code |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist doch einffach sobald er aus dem Bild rausläuft (z. B.:SpielerX > 640 then ) setzt du ihn an die entsprechende Position und malst das Bild neu
Hab hier bewusst auf praktischen Code verziochtet damit auch nochg was zu tun hast wir können dir natürlich nicht sgaen was falsch ist wenn du uns nicht den neuen Code zeigst |
||
![]() |
Jack |
![]() Antworten mit Zitat ![]() |
---|---|---|
hacker3110 hat Folgendes geschrieben: Ist doch einffach sobald er aus dem Bild rausläuft (z. B.:SpielerX > 640 then ) setzt du ihn an die entsprechende Position und malst das Bild neu
Hast du dir den Code mal angeguckt? Ich lade eine txt-Datei außerhalb der Repeat-Schleife und in der Repeat-Schleife wird das dann gezeichnet. An die entsprechende Position wird er selber gesetzt, aber mein Problem ist ja gerade, dass ich nicht weiß, wie ich es schaffe, dass ich, wenn meine Figur den Bildschirm verlässt, dass mein Programm dann eine neue Textdatei lädt und dann entsprechend zeichnet. (ich hoffe, dass hörte sich jetzt nicht wie eine Beleidigung an) Bitte helft mir! |
||
Wer kein HTML kann und lernen will, der ist wirklich dumm... MFG Dennerlein |
$tankY |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Dim Level$(15,20) leveldatei = ReadFile("welten/welt1.txt") For Zeile=0 To 14 A$ = ReadLine(leveldatei) For Spalte=0 To 19 Level$(Zeile,Spalte) = Mid$(A$,Spalte+1,1) If Level$(Zeile,Spalte) = "S" Then SpielerStartS = Spalte SpielerStartZ = Zeile EndIf Next Next CloseFile leveldatei Repeat ; Level zeichnen If KeyDown(1) Then End For Zeile=0 To 14 For Spalte=0 To 19 Select Level$(Zeile,Spalte) Case "1" DrawImage baum, Spalte*32, Zeile*32 Case " " DrawImage wiese, Spalte*32, Zeile*32 Case "S" DrawImage wiese, Spalte*32, Zeile*32 DrawImageRect figuren, Spalte*32, Zeile*32, 481,142,32,26 SpielerS = Spalte SpielerZ = Zeile End Select Next Next In Dim Level$(15,20) legst du ein dim mit 16*21 feldern an, jedoch befüllst du nur mit For Zeile=0 To 14 For Spalte=0 To 19 14*19 von 16*21 feldern, das solltest du besser beheben. |
||
![]() |
Jack |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke, Leute, aber ich habe jetzt doch beschlossen Scrolling zu benutzen und bald kommt mein erstes RPG... Schaut also öfter mal auf Projekte. | ||
Wer kein HTML kann und lernen will, der ist wirklich dumm... MFG Dennerlein |
$tankY |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Viel Erfolg! | ||
Übersicht
![](/themes/Standard/arrow.png)
![](/themes/Standard/arrow.png)
Powered by phpBB © 2001 - 2006, phpBB Group