kleines type problem

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mas93

Betreff: kleines type problem

BeitragMo, Aug 06, 2007 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Eigentlich will ich nur mit verschiedenen tasten einen type erstellen und mit der gleichen dann wieder löschen.

Code: [AUSKLAPPEN]

Type auswahl
Field nummer
Field Selected
End Type

Graphics 300,300,16,2

Repeat

keyhitt=KeyHit(1)

selectfriend()
deselectfriend()



For a.auswahl=Each auswahl
If a\nummer=7 And a\selected=1 Then Print "AAAAAA"
Next


Until KeyHit(1)



Function deselectfriend()

For a.auswahl=Each auswahl
If KeyHit(71) Then
If a\nummer=7 Then a\selected=0
EndIf

If KeyHit(72) Then
If a\nummer=8 Then a\selected=0
EndIf

If KeyHit(73)Then
If a\nummer=9 Then a\selected=0
EndIf

If KeyHit(75) Then
If a\nummer=4 Then a\selected=0
EndIf

If KeyHit(76) Then
If a\nummer=5 Then a\selected=0
EndIf

If KeyHit(77) Then
If a\nummer=6 Then a\selected=0
EndIf

If KeyHit(79) Then
If a\nummer=1 Then a\selected=0
EndIf

If KeyHit(80) Then
If a\nummer=2 Then a\selected=0
EndIf

If KeyHit(81) Then
If a\nummer=3 Then a\selected=0
EndIf
Next

End Function


Function selectfriend()

If KeyHit(71) Then
a.auswahl=New auswahl
a\nummer=7
a\selected=1
EndIf

If KeyHit(72) Then
a.auswahl=New auswahl
a\nummer=8
EndIf

If KeyHit(73) Then
a.auswahl=New auswahl
a\nummer=9
EndIf

If KeyHit(75) Then
a.auswahl=New auswahl
a\nummer=4
EndIf

If KeyHit(76) Then
a.auswahl=New auswahl
a\nummer=5
EndIf

If KeyHit(77) Then
a.auswahl=New auswahl
a\nummer=6
EndIf

If KeyHit(79) Then
a.auswahl=New auswahl
a\nummer=1
EndIf


If KeyHit(80) Then
a.auswahl=New auswahl
a\nummer=2
EndIf

If KeyHit(81) Then
a.auswahl=New auswahl
a\nummer=3
EndIf

End Function
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

ZaP

BeitragMo, Aug 06, 2007 15:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Also Types löscht man mit Delete(), falls du das brauchst,.
Starfare: Worklog, Website (download)

jj2

BeitragMo, Aug 06, 2007 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja mit delete wird etwas gelöscht, aber ich glaube dass hilf dir nicht weiter

[EDIT]Zu spät[/EDIT]
...:::ICH WOHNE IN DER GESÜNDESTEN STADT DEUTSCHLANDS:::...
Meine Pages : www.lpbase.de
mein projekt :Authority von Impulse Soft
User posted image

mas93

BeitragMo, Aug 06, 2007 15:25
Antworten mit Zitat
Benutzer-Profile anzeigen
ok ich meinte, dass es so ein soll dass wenn ich z.b auf NUM7 drücke, dass dann ein rect gezeichnet wird und wenn ich dann später nochmal auf NUM7 drücke, dann soll das rect nichtmehr gezeichnet werden.
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

Puccini

BeitragMo, Aug 06, 2007 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
was macht die zeile

Code: [AUSKLAPPEN]
keyhitt=KeyHit(1)

???
wenn du damit die Schleife verlassen willst, hast du das doch schon unten bei Until definiert!

Das mit deiner abfrage wird so wahrscheinlich net klappen, da deine schleife zu schnell durchrattert, als das sie da jedesmal abfragen könnte welche taste grade gedrückt wurde!

mach eine Globale Variable "tastendruck" der du mit hilfe von GetKey einen wert zuweist. Diesen Wert must du -48 rechnen und hast so exakt die zahl die du gedrückt hast.

Dann machst du halt wieder deine For-Each schleifen und schaust welcher type der zahl entspricht.

auserdem würde ich das mit der aus-und abwahl nich in jeder schleife machen, da is klar das nix passiert, da sie sich gegenseitig aufheben!
Da würde ich fragen ob grad ein key gedrückt wurde und dann innerhabl der for-each schleife fragen
if auswahl=1 and zahl=tastendruck dann auswahl=0 oder so!
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

mas93

BeitragMo, Aug 06, 2007 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
danke erstmal.

Also zu dem keyhitt=1 das hatte ich nurmal zu testzwecken und gehört da nichtmehr rein.
Aber wie meinst du das mit Getkey()

Kannst du mir mal n beispiel mit einer taste geben??

wäre nett


mfg
mas93
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

Puccini

BeitragMo, Aug 06, 2007 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
While Not KeyHit(1)


tastendruck=GetKey()

If tastendruck>0 tastendruck=tastendruck-48:Print tastendruck


Wend


Hier werden dir die 10 Zahlentasten ausgegeben!

und wenn du dann dein code noch willst:
Code: [AUSKLAPPEN]
Type freund
Field auswahl,zahl
End Type
While Not KeyHit(1)


tastendruck=GetKey()

If tastendruck>0
   tastendruck=tastendruck-48
   Print tastendruck
   For f.freund=Each freund
      If f\zahl=tastendruck f\auswahl=1-f\auswahl
   Next
End If

Wend

so in etwa! so wird jedesmal der Zustand deines Types zwischen 1 udn 0 gewechselt.
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

mas93

BeitragMo, Aug 06, 2007 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
danke, aber dein code geht nicht, da kein type erstellt wird.
Ich habs mal versucht, es geht aber nicht.

Normal sollte wenn man auf die taste 1 drückt immer abwechselnd ein rect gezeichnet und wieder nicht gezeichnet werden, es geht aber nicht.

Code: [AUSKLAPPEN]

Type freund
Field auswahl,zahl
End Type

f.freund=New freund
f\zahl=1
f\auswahl=1

While Not KeyHit(1)
tastendruck=GetKey()

If tastendruck>0
   tastendruck=tastendruck-48
 

   For f.freund=Each freund
If f\zahl=1 Then If f\auswahl=1 Then Rect 20,20,20,20     
If f\zahl=tastendruck Then f\auswahl=f\auswahl+1
If f\auswahl=2 Then f\auswahl=0
Text 40,40,f\auswahl
   Next
End If

Wend
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

Puccini

BeitragMo, Aug 06, 2007 16:21
Antworten mit Zitat
Benutzer-Profile anzeigen
funktioniert einwandfrei!

und war klar das ich nix erzeugt habe oder geupatet habe, da es nur ein denkanstoss sein sollte und kein fertiger code!

hier funktioniert jetzt alles!

du musst natürlich pro schleifendurchlauf auch immer alle types durchgehn und nich nur wenn eine taste gedrückt wurde Wink
Code: [AUSKLAPPEN]
Graphics 400,200,16,2
SetBuffer BackBuffer()
Type freund
Field auswahl,zahl
End Type
For i=1 To 9
f.freund=New freund
f\zahl=i
f\auswahl=0
Next
While Not KeyHit(1)
tastendruck=GetKey()

If tastendruck>0
tastendruck=tastendruck-48
   For f.freund=Each freund
      If f\zahl=tastendruck f\auswahl=1-f\auswahl
   Next
Delay 100
End If

For f.freund=Each freund
   If f\auswahl=1 Rect 10+f\zahl*15,10,10,10
Next
Flip
Cls
Wend
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group