Schrift Anzeigungs-Problem

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Blitzkrieg Bop

Betreff: Schrift Anzeigungs-Problem

BeitragSa, Jul 03, 2004 22:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Tag auch!
Ich bin kurz davor auf den PC einzuschlagen, denn mich ärgert ein Prob schon den ganzen Tag:
In meinem SPiel kann ein Spieler seine Tasten selbst bestimmen, die er zum Spielen will. Sie werden in einer Art Tabelle angeziegt und können geändert werden. Beispiel:

Aktion: Taste:
"Schiessen": Strg(links)

Klappt äußerst gut, doch wenn man die Tasten ändert,entsteht folgender Fehler:

"Drücke auf die Taste, mit der du schiessen willst" (bis hierhin verläuft alles gut - als Beispiel nehmen wir Enter)

wenn man dann gedrückt hat, sieht das Obige etwa so aus:

Aktion: Taste:
"Schiessen": ESntterrg(links)

..
Was ich damit sagen will: Ändert man die aktuellen Tasten, überschreiben die neuen Bezeichnungen die alten. Natürlich sollen nur die neuen angezeigt werden und daher müssen die alten gelöscht werden. Doch das will nicht so recht klappen.
Ich möchte eben noch das laden der Tasten erläutern:
Ich habe beschlossen, mit Types zu arbeiten! Für jede Taste einen Type, das sieht so aus:
Code: [AUSKLAPPEN]

Type zahl
   Field wert$,ID,var
End Type

Erklärung:
wert$ = Bezeichnung der Tastatur
ID = ID - dient zur orientierung, d.h: Schiessen hat die ID = 1 ; Springen hat die ID = 2 usw.
var = Scancode
ich gehe jetzt nicht weiter darauf ein, wie alles gespeichert wird, denn das klappt wunderbar.
Gelesen wird übrigens so:
Code: [AUSKLAPPEN]

Global file=ReadFile("setup.cfg")
While Not Eof(file)
z.zahl = New zahl
z\wert$=ReadLine(file)
z\ID = ReadLine(file)
z\var = ReadLine(file)
Wend

Zum laden gilt folgendes:
Code: [AUSKLAPPEN]

For z.zahl = Each zahl
Color 192,192,192
   If z\ID = 1 ;Schiessen
      Text 370,150,""+z\wert$
   ElseIf z\ID = 2 ;Springen
      Text 370,250,""+z\wert$
   ElseIf z\ID = 3
      Text 370,350,""+z\wert$
   ElseIf z\ID = 4
      Text 370,450,""+z\wert$
   ElseIf z\ID = 5
      Text 370,550,""+z\wert$
   EndIf
Next

Wenn man nun also die Tasten ändert, werden z\wert$, z\ID und z\var geändert(und natürlich auch in der setup.cfg gespeichert) ,
doch man sieht immer noch den alten Wert dabei.
Ich habe shcon mit :
Code: [AUSKLAPPEN]

For z.zahl = Each zahl
 delete z\wert$
next

gearbeitet, doch das will nicht funzen!
Ich hoffe das war ausführlich - wie gehe ich dem Prob entgegen?
~ Hey Ho Let's Go ~
 

Edlothiol

BeitragSo, Jul 04, 2004 12:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
For z.zahl = Each zahl
 z\wert$ = ""
next
?
 

Blitzkrieg Bop

BeitragSo, Jul 04, 2004 12:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
@ Edlo.: Genau das habe ich probiert. Klappt auch gut, doich wie geht es weiter?
Ich habe probiert:
Code: [AUSKLAPPEN]

For z.zahl = Each zahl
 z\wert$ = ""
file=ReadFile("setup.cfg")
While Not Eof(file)
z.zahl = New zahl
z\wert$=ReadLine(file)
z\ID = ReadLine(file)
z\var = ReadLine(file)
Wend
CloseFile file
next

Also erst werden die alten Buchstaben auf "" gesetzt und dann neu geladen! Geht leider nicht..
~ Hey Ho Let's Go ~
 

Edlothiol

BeitragSo, Jul 04, 2004 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Du solltest die Datei nicht in der Schleife öffnen und schließen Rolling Eyes
 

Blitzkrieg Bop

BeitragSo, Jul 04, 2004 12:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja sorry - war grad im Stress, also um genau zu sien so hatte ich es (ich mach nur eben Pseudo)
Code: [AUSKLAPPEN]

For z.zahl = Each zahl
 z\wert$ = ""
 DatenLaden()
next

function DatenLAden()
file=ReadFile("setup.cfg")
While Not Eof(file)
z.zahl = New zahl
z\wert$=ReadLine(file)
z\ID = ReadLine(file)
z\var = ReadLine(file)
Wend
CloseFile file (eventuell auskommentiern?)
end function

Bin mir nicht sicher ob das auf das gleiche rausläuft und wenn ja, wo genau der fehler liegt!?
~ Hey Ho Let's Go ~

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group