Attribut änderung will und will nicht funktionieren
Übersicht

![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Noobfire:
Das Codestück da zeugt davon, das du noch keine grundsätzlichen Mechanismen beim programmieren verinnerlicht hast. Die bekommst du schneller, wenn du dir selber Gedanken machst und ausprobierst wie etwas funktioniert. Code: [AUSKLAPPEN] WriteString Spielerconfig, "Spielername$" Schreibt den String "Spielername$", nicht die Variable Spielername$.
Code: [AUSKLAPPEN] WriteByte Spielerconfig, attr(0) = 20 attr(0) = 20 ist eine Zuweisung, die hat da nichts verloren.
|
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Noobfire |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] WriteByte Spielerconfig, attr(0) = 20 attr(0) = 20 ist eine Zuweisung, die hat da nichts verloren. Was ist jetzt Zuweisung? Das soll so sein, dass in dem File die Statistiken und Attribute gespeichert werden. attr(0) = 20 ist doch dann meines Wissens nach richtig? Und was genau muss ich eigentlich schreiben? WriteByte WriteInt oder was? @ozzi pff dann hats sich eben jetzt ausgekekst ![]() Ich probiers jetzt am Ende mit CloseFile.. EDIT: Ach ja, und wenn ich WriteFile mache, was muss ich dann eingeben, um eine Spielername$.ini zu haben? Wenn ich WriteFile (Spielername$.ini) schreibe meckert er, bei (Spielername$".ini") auch... EDIT2: Ah, jetzt klappst wenn ich Close File mache. Es wird Spielername$ dahin geschrieben (also nat was ich da eingegeben hatte) aber das attr(0) = 20 nicht. |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Writefile ("Spielername$.ini")
So isses richtig doch es ist ein lokaler Pfad , also wird es im Ordner erstellt in dem deine BB datei ist. WriteFile ("c:\Spielername$.ini") Machs so um es direkt auf C: zu speichern. Closefile => https://www.blitzforum.de/help/CloseFile Da hats ein Beispiel. Probiers mal mit Writeline => https://www.blitzforum.de/help/WriteLine WriteByte Spielerconfig, attr(0) = 20 Was wilst du damit machen ? |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Noobfire hat Folgendes geschrieben: Was ist jetzt Zuweisung? Beispiel: attr(0) = 20 ;Das ist eine Zuweisung, du übergibst attr(0) den Wert 20 if attr(0) = 20 then .... ;Das ist ein Vergleichsoperator, wenn attr(0) = 20 ist, dann ist diese bedingung wahr Ich hab dein Code mal erweitert um die Attributen zu speichern und wieder zu Laden: Code: [AUSKLAPPEN] Graphics 800,600
Dim attr(7) attr(0) = 20 attr(1) = 20 attr(2) = 5 attr(3) = 5 attr(5) = 5 attr(6) = 5 attr(7) = 5 ;Globale Variablen, falls diese später in Funktionen verwendet werden Global Level=0 Global EP=0 Global Punkte=20 Global Spielername$ = "Spielername" LoadConfig(Spielername$) ;Funktion aufrufen um die Config zu laden Repeat Locate 150,0 Write "Dein Name:" Print Spielername$ Locate 500,0 Write "Dein Level:" Print Level Print "---------------------------------------------------------------------------------------------------------------------------------------------------------------------------" Write "Deine Lebenspunkte:" Locate 300,35 Print attr1 Write "Dein Mana:" Locate 300,53 Print attr(1) Write "Deine Stärke:" Locate 300,71 Print attr(2) Write "Deine Intelligenz:" Locate 300,89 Print attr(3) Write "Deine Geschicklichkeit:" Locate 300,107 Print attr(5) Write "Deine Verteidigung:" Locate 300,125 Print attr(6) Write "Dein Glück:" Locate 300,143 Print attr(7) Print "-----------------------------------------------------------------------------------" Write "Zur Aufwertung verfügte Punkte:" Locate 300, 179 Print Punkte Print "" Write "Erfahrung" Locate 300,215 Print EP Print "Was möchtest du aufwerten?" Aufwertung$ = Input("Du kann Lebenspunkte (L), Mana (M), Stärke (S), Intelligenz (L), Geschicklichkeit (Ge), Verteidigung (V) oder Glück (Gl) aufwerten") If Aufwertung$ = "L" Then attr(1) = attr(1) + 1 : Punkte = Punkte - 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben ElseIf Aufwertung$ = "M" Then attr(2) = attr(2) + 1 : Punkte = Punkte - 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben Else Print "Du musst L, M, S, L, Ge, V oder Gl eintippen!" WaitKey EndIf Cls Until Punkte = 0 End ;Funktion um die Config Datei zu speichern Function SaveConfig(IniDatei$) Datei = WriteFile(IniDatei$+".ini") For i=0 To 7 If Not i = 4 Then ;Arays speichern bis auf die Array nr 4 WriteByte Datei,attr(i) EndIf Next CloseFile(Datei) End Function ;Funktion um die Config Datei zu laden Function LoadConfig(IniDatei$) Datei = ReadFile(IniDatei$+".ini") If Not Datei = 0 Then For i=0 To 7 If Not i = 4 Then ;Arays laden bis auf die Array nr 4 attr(i) = ReadByte(Datei) EndIf Next CloseFile(Datei) EndIf End Function WriteByte kann nur werte zwischen 0 und 255 aufnehmen, wenn der Wert überschritten wird, fängt es wieder ab 0 an. Wenn es grössere Zahlen sind wie z.B. 256.... dann würde ich Integer(Ganzzahlen) nehmen: WriteInt. Ich hoffe das ist was du brauchst, wenn ich micht nicht täusche ![]() MfG |
||
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250 |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn ich da meinen Senf dazu geben darf ![]() 1. Kein Print 2. Kein Input , alternativ könnte man Buttons machen ^^ Also so im Sinne von : Code: [AUSKLAPPEN] If MouseX() > 200 and MouseX()< 100 and MouseY() > 200 and MouseY() < 100 and Mousehit(1) Attribut verändern endif |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Noobfire |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah vielen Dank.
Hat (also wird) mir sehr helfen. @ozzi789 Wieso kein Print? Meinste Text 230, 250 anstatt Locate 230,250 Print ? An Buttons hatte ich auch schon gedacht, danke für den Code, ich wollte es aber erstmal mit dem configfile hinbekommen. Allgemeine Frage.. Wieso benutzt man eigentlich dim? Macht das einen Unterschied, wenn man anstatt attr(0) einfach attr0 macht??? |
||
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
natürlich:
attr0 ist eine variable mit attr(0) sprichst du das erste element in einem arrayfeld <- dim an |
||
Noobfire |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also, ich hab jetzt mal ausprobiert. Wenn ich einfach CopyPaste deinen Code in meinen gemacht hatte, kam bei Writebyte Array Index of Bounds? Keine Ahnung wieso da bei attr(i) steht? Also hab ich kurzerhand einfach attr(0) attr(1) usw... geschrieben also so:
Code: [AUSKLAPPEN] ;Funktion um die Config Datei zu speichern Function SaveConfig(IniDatei$) Datei = WriteFile(IniDatei$+".ini") For i=0 To 7 WriteByte Datei,attr(0) WriteByte Datei,attr(1) WriteByte Datei,attr(2) WriteByte Datei,attr(3) WriteByte Datei,attr(4) WriteByte Datei,attr(5) WriteByte Datei,attr(6) Next CloseFile(Datei) End Function Das Problem mit dem fehlenden attr(4) habe ich auch gelöst. Jetzt gibt es nur noch 6 Attribute. Ich hab das jetzt ein paar Mal gemacht. Kam kein Fehler mehr. Aber bei gerade mal einer ini hat es perfekt geklappt. Code: [AUSKLAPPEN] 22 20 5 5 5 5 0 Das stand dadrin. Jetzt kommt der Inhalt anderer ini´s: Code: [AUSKLAPPEN] ß|| | Code: [AUSKLAPPEN] ᐜԅԅᰀԔԅᐜԅԅᰀԔԅᐜԅԅᰀԔԅᐜԅԅᰀԔԅ Code: [AUSKLAPPEN] ᐚԅԅᨀԔԅᐚԅԅᨀԔԅᐚԅԅᨀԔԅᐚԅԅᨀԔԅ Code: [AUSKLAPPEN] Was geht denn hier ab? Ich habe keine Änderungen sonst am Quelltext vorgenommen! |
||
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
ist dir klar wofür eine for-schleife da ist?
Dieser Teil Code: [AUSKLAPPEN] For i=0 To 7
WriteByte Datei,attr(0) WriteByte Datei,attr(1) WriteByte Datei,attr(2) WriteByte Datei,attr(3) WriteByte Datei,attr(4) WriteByte Datei,attr(5) WriteByte Datei,attr(6) Next schreibt 8 mal diene attribute in die datei es muss Code: [AUSKLAPPEN] for i=0 to 6
writebyte Datei,attr(i) next heißen. Die fragezeichen usw kommen davon, dass du einzelne bytes inb die datei reinschreibst, die der Texteditor dann versuchtr als zeichen zu interpretieren. |
||
Noobfire |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ah klar. Es lag an dem For i to 7 dings da
Natürlich muss es jetzt For 6 heißen, da ich ja ein Attribut weggenommen habe... |
||
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du meinst du hast 7 attributen, da es von 0 anfängt, wieso lässt du die Schleife dann 8 mal wiederholen?
Mach es einfach so: Code: [AUSKLAPPEN] ;Funktion um die Config Datei zu speichern
Function SaveConfig(IniDatei$) Datei = WriteFile(IniDatei$+".ini") For i=0 To 6 WriteByte Datei,attr(i) Next CloseFile(Datei) End Function MfG |
||
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250 |
Noobfire |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja genaus so hatt ichs ja auch jetzt gemacht ![]() ![]() |
||
Noobfire |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
AAlso, jetzt habe ich ein neues Problem ![]() Ich habe das jetzt alles mit Buttons gemacht: Code: [AUSKLAPPEN] Function lvlup() .start Repeat WaitTimer (Timer2) Cls DrawImage abc, 350, 35 DrawImage abc, 350, 53 DrawImage abc, 350, 71 DrawImage abc, 350, 89 DrawImage abc, 350, 107 DrawImage abc, 350, 125 DrawImage abc, 350, 143 Locate 150,0 Print "Dein Name:" Locate 235,0 Print Spielername$ Locate 500,0 Print "Dein Level:" Locate 580,0 Print Level Print "---------------------------------------------------------------------------------------------------------------------------------------------------------------------------" Write "Deine Lebenspunkte:" Locate 300,35 Print attr(0) Write "Dein Mana:" Locate 300,53 Print attr(1) Write "Deine Stärke:" Locate 300,71 Print attr(2) Write "Deine Intelligenz:" Locate 300,89 Print attr(3) Write "Deine Geschicklichkeit:" Locate 300,107 Print attr(4) Write "Deine Verteidigung:" Locate 300,125 Print attr(5) Write "Dein Glück:" Locate 300,143 Print attr(6) Print "-----------------------------------------------------------------------------------" Write "Zur Aufwertung verfügte Punkte:" Locate 300,179 Print Punkte Print "" Write "Erfahrung" Locate 300,215 Print EP Print "Was möchtest du aufwerten?" Print "Du kannst deine Lebenspunkte, dein Mana, deine Stärke, deine Intelligenz, Print "deine Geschicklichkeit, deine Verteidigung oder dein Glück aufwerten." Print "Klicke dazu auf die Buttons hinter den Attributen!" If MouseX() > 350 And MouseX()< 368 And MouseY() > 35 And MouseY() < 53 And MouseHit(1) Then ;Definition des - Buttons attr(0) = attr(0) - 2 ;Lebenspunkte - 2 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX () > 370 And MouseX () < 388 And MouseY () > 35 And MouseY () < 53 And MouseHit(1) Then ;Definition des + Buttons attr(0) = attr(0) + 2 ;Lebenspunkte + 2 Punkte = Punkte - 1 ;Die möglichen Punkte - 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 53 And MouseY() < 71 And MouseHit(1) Then ;Definition des - Buttons attr(1) = attr(1) - 3 ;Mana - 3 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 71 And MouseY() < 89 And MouseHit(1) Then ;Definition des - Buttons attr(2) = attr(2) - 1 ;Stärke - 1 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 89 And MouseY() < 107 And MouseHit(1) Then ;Definition des - Buttons attr(3) = attr(3) - 1 ;Intelligenz - 1 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 107 And MouseY() < 125 And MouseHit(1) Then ;Definition des - Buttons attr(4) = attr(4) - 1 ;Geschicklichkeit - 1 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 125 And MouseY() < 143 And MouseHit(1) Then ;Definition des - Buttons attr(5) = attr(5) - 1 ;Verteidigung - 1 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 143 And MouseY() < 161 And MouseHit(1) Then ;Definition des - Buttons attr(6) = attr(6) - 1 ;Glück - 1 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf Flip 1 Until Punkte = 0 weiter$ = Input ("Möchtest du noch etwas veränder? Sage [Ja], wenn du es willst!") If weiter$ = "Ja" Then Goto start EndIf End Function EDIT: Das abc Bild sind die Buttons! Das ganze mit dem If blablabla Endif If blablabla Endif ist nur so n Müll, weil ich erst gedacht hatte, dass mein folgendes Problem an dem ElseIf liege. Ach ja, ich war bis jetzt zu faul, auch den + Button bei jedem Attribut zu machen! Also habe jetzt 3 Probleme: 1. Wenn ich auf den ersten Minus Button drücke, verändert sich der Wert attr(0) zwar, aber bei allen anderen Buttons geht dies nicht. Ich kann soviel draufdrücken, wie ich will, aber es funktioniert nicht. Was mich besonders wunderlich macht, ist, dass alle Codes genau das gleiche enthalten. Nur ein Minus wurde mal mit einem Plus vertauscht, oder attr(0) mit attr(1). Außerdem musste ich natürlich die Button Definiton (also da, wo man klicken muss) ändern. Aber es will nicht funktionieren!!! 2. Ich kann mit dem ersten, und einzigen Button das Attr(0) bis unter 0 verringern. Müsste man hier noch noch zum Definitons If ein "and attr(0) > 0" einfügen? 3. Am Ende wird gefragt, ob man noch etwas verändern will... Wenn ich aber schreibe: Code: [AUSKLAPPEN] If weiter$ = "Ja" Then Goto start ElseIf weiter$ = "Nein" Then End Function Else Print "Sage [Ja], oder [Nein] ! EndIf End Function Dann meckert das Programm, dass es ja schon bei Elseif ein End Function habe, und dann sei die Funktion ja schon zu Ende. Dann macht er das Else nicht. EDIT2: uuuuuups, schon wieder Doppelpost. Aber ich hatte ja ein neues Problem.. Geht das dann?? |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu Problem Nr. 1: Speichere MouseHit(1) in einer Variable und werte diese aus. Also
Code: [AUSKLAPPEN] mhit=MouseHit(1)
If blablabla And mhit Then Zu Problem Nr. 3: Wenn du eine Function beenden willst bevor man bei "End Function" ist, verwende Return ![]() Und Problem Nr. 2 löst sich vlt so von selbst... War jetzt zu faul mir das nochmal anzuschauen. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Noobfire |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habs jetzt so, aber jetzt geht gar nix mehr:
Code: [AUSKLAPPEN] Function lvlup() .start Repeat WaitTimer (Timer2) Cls DrawImage abc, 350, 35 DrawImage abc, 350, 53 DrawImage abc, 350, 71 DrawImage abc, 350, 89 DrawImage abc, 350, 107 DrawImage abc, 350, 125 DrawImage abc, 350, 143 Locate 150,0 Print "Dein Name:" Locate 235,0 Print Spielername$ Locate 500,0 Print "Dein Level:" Locate 580,0 Print Level Print "---------------------------------------------------------------------------------------------------------------------------------------------------------------------------" Write "Deine Lebenspunkte:" Locate 300,35 Print attr(0) Write "Dein Mana:" Locate 300,53 Print attr(1) Write "Deine Stärke:" Locate 300,71 Print attr(2) Write "Deine Intelligenz:" Locate 300,89 Print attr(3) Write "Deine Geschicklichkeit:" Locate 300,107 Print attr(4) Write "Deine Verteidigung:" Locate 300,125 Print attr(5) Write "Dein Glück:" Locate 300,143 Print attr(6) Print "-----------------------------------------------------------------------------------" Write "Zur Aufwertung verfügte Punkte:" Locate 300,179 Print Punkte Print "" Write "Erfahrung" Locate 300,215 Print EP Print "Was möchtest du aufwerten?" Print "Du kannst deine Lebenspunkte, dein Mana, deine Stärke, deine Intelligenz, Print "deine Geschicklichkeit, deine Verteidigung oder dein Glück aufwerten." Print "Klicke dazu auf die Buttons hinter den Attributen!" If MouseX() > 350 And MouseX()< 368 And MouseY() > 35 And MouseY() < 53 And mhit = 1 And attr(0) > 0 Then ;Definition des - Buttons attr(0) = attr(0) - 2 ;Lebenspunkte - 2 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX () > 370 And MouseX () < 388 And MouseY () > 35 And MouseY () < 53 And mhit = 1 Then ;Definition des + Buttons attr(0) = attr(0) + 2 ;Lebenspunkte + 2 Punkte = Punkte - 1 ;Die möglichen Punkte - 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 53 And MouseY() < 71 And mhit = 1 And attr(1) > 0 Then ;Definition des - Buttons attr(1) = attr(1) - 3 ;Mana - 3 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 71 And MouseY() < 89 And mhit = 1 And attr(2) > 0 Then ;Definition des - Buttons attr(2) = attr(2) - 1 ;Stärke - 1 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 89 And MouseY() < 107 And mhit = 1 And attr(3) > 0 Then ;Definition des - Buttons attr(3) = attr(3) - 1 ;Intelligenz - 1 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 107 And MouseY() < 125 And mhit = 1 And attr(4) > 0 Then ;Definition des - Buttons attr(4) = attr(4) - 1 ;Geschicklichkeit - 1 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 125 And MouseY() < 143 And mhit = 1 And attr(5) > 0 Then ;Definition des - Buttons attr(5) = attr(5) - 1 ;Verteidigung - 1 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf If MouseX() > 350 And MouseX()< 368 And MouseY() > 143 And MouseY() < 161 And mhit = 1 And attr(6) > 0 Then ;Definition des - Buttons attr(6) = attr(6) - 1 ;Glück - 1 Punkte = Punkte + 1 ;Die möglichen Punkte + 1 SaveConfig(Spielername$) ;Funktion aufrufen und den Spielername mit geben EndIf Flip 1 Until Punkte = 0 .weiter weiter$ = Input ("Möchtest du noch etwas verändern? Sage [Ja], wenn du es willst. Sage [Nein], wenn du zufrieden bist.") If weiter$ = "Ja" Then Goto start ElseIf weiter$ = "Nein" Then Return Else Print "Du musst entweder [Ja] oder [Nein] sagen!" WaitKey Goto weiter EndIf End Function Vorher habe ich Code: [AUSKLAPPEN] Global mhit = MouseHit(1) |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] mhit = MouseHit(1)
Na das muss schon in die Schleife rein ![]() |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Noobfire |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sry für die späte Antwort hatte PES gezockt ^^
Aber... DANKE!! Jetzt klappst... Komisch wieso das erst jetzt geht??? n bissel sehr komisch finde ich! man ist jetzt Computer: Aha ich soll überprüfen ob die linke Maustaste gedrückt ist.. nee das kapier ich net... aha mhit ist gleich linke Maustaste gedrückt... Aha ich soll überprüfen ob mhit gleich eins ist.. was ist denn mhit aha es ist linke maustaste dann kapier ich natülich alles. :confused: |
||
![]() |
Blitzprogger |
![]() Antworten mit Zitat ![]() |
---|---|---|
du musst wissen dass eine schleife dutzende male pro sekunde durchgeführt wird. und immer wenn du schreibst Code: [AUSKLAPPEN] If Mousehit(1) dann prüft er ob in genau diesem moment die linke maustaste gedrückt wurde. du müsstest also viele male drücken um genau dann deine maus zu drücken wenn das auch abgefragt wird. desshalb schreibst du Code: [AUSKLAPPEN] mhit = Mousehit(1) gilt das dann eben für die ganze schleife.
mfg |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. ![]() |
Noobfire |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So, hab jetzt in nem anderen Menü ein Problem mit mhit:
Code: [AUSKLAPPEN] Repeat WaitTimer(Timer) Cls mhit = MouseHit(1) DrawImage MainImage,0,0 If MouseX() > 616 And MouseX() < 796 And MouseY() > 515 And MouseY() < 615 Then DrawImage Exit_over,616,515 ElseIf MouseX() > 616 And MouseX() < 796 And MouseY() > 515 And MouseY() < 615 And mhit = 1 Then End ElseIf MouseX() > 33 And MouseX() < 353 And MouseY() > 116 And MouseY() < 176 Then DrawImage NeuesSpiel_over,33,116 ElseIf MouseX() > 33 And MouseX() < 353 And MouseY() > 116 And MouseY() < 176 And mhit = 1 Then neuesspiel = 1 EndIf Flip 1 Until neuesspiel = 1 Immer wenn ich auf Neues Spiel oder auf Ende klicke, passiert nix. Auch nicht wenn ich MouseDown oder so eintippe. EDIT: SRY, hat sich erledigt. Man muss anscheinend immer Endif schreiben... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group