Code vereinfachen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

WEBLink

Betreff: Code vereinfachen

BeitragMi, Jun 09, 2004 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi. wollte mal fragen wie man diesen Code

Code: [AUSKLAPPEN]

If ImagesCollide(mouse,mx-sk,my - sk2,0,button,6 - sk,520 - sk2,0) Then
If klick = 0 Then
If MouseHit(1) Then klick = 1
EndIf
If klick = 1 And MouseHit(1) Then klick = 0
EndIf
If klick = 1 Then

If MouseHit(1) Then klick = 0
   DrawImage button, 6, 520, 1
   Text 28,519,"Boden"
EndIf

If klick = 0 Then
   DrawImage button, 6, 520, 0
   Text 29,518,"Boden"
EndIf


vereinfachen kann. Hier wird bei einem Mausklick ein Button eingedrückt wenn man wieder draufdrückt geht das Button wieder raus.

simi

BeitragMi, Jun 09, 2004 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

If ImagesCollide(mouse,mx-sk,my - sk2,0,button,6 - sk,520 - sk2,0) and MouseHit(1) Then
  klick = not(klick)
EndIf

DrawImage button,6,520,klick
Text 28,519,"Boden"


Ich versteh nicht ganz was du meinst, aber vielleicht habe ich das richtige getroffen.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, Jun 09, 2004 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Code: [AUSKLAPPEN]
If MouseHit(1) And ImagesCollide(mouse,mx-sk,my - sk2,0,button,6 - sk,520 - sk2,0) Then
   klick = klick Xor 1
EndIf
DrawImage button, 6, 520,klick

habs nicht getestet
[BB2D | BB3D | BB+]
 

Edlothiol

BeitragMi, Jun 09, 2004 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Statt Code: [AUSKLAPPEN]
If klick = 0 Then
If MouseHit(1) Then klick = 1
EndIf
If klick = 1 And MouseHit(1) Then klick = 0
EndIf
kannst du Code: [AUSKLAPPEN]
klick = klick Xor MouseHit(1)
schreiben. Du solltest übrigens MouseHit nur einmal verwenden. Danach wird nämlich der Buffer gelöscht.
Der Rest:Code: [AUSKLAPPEN]
If klick = 1 Then
   DrawImage button, 6, 520, 1
   Text 28,519,"Boden"
EndIf

If klick = 0 Then
   DrawImage button, 6, 520, 0
   Text 29,518,"Boden"
EndIf
Hier kannst du eigentlich nur das Code: [AUSKLAPPEN]
If MouseHit(1) Then klick = 0
weglassen, das klick = 0 wird nie aufgerufen werden.

Edit: Obwohl, eigentlich kannst du hier auch schreibenCode: [AUSKLAPPEN]
DrawImage Button, 6, 520, 1
Text 29 - klick, 518 + klick, "Boden"
Also noch mal als Ganzes: Code: [AUSKLAPPEN]
If ImagesCollide(mouse,mx-sk,my - sk2,0,button,6 - sk,520 - sk2,0) Then klick = klick Xor MouseHit(1)
DrawImage Button, 6, 520, 1
Text 29 - klick, 518 + klick, "Boden"

WEBLink

BeitragMi, Jun 09, 2004 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Also es ist folgender Maßen gemeint.

Man klickt einmal auf das Button durch den klick schiebt sich das Button nach innen. Dies bleibt so lang bis man erneut auf das Button klickt dann drückt sich dieses wieder raus.

@ Simis vorschlag funktioniert

TheShadow

Moderator

BeitragMi, Jun 09, 2004 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso nimmst du Kollisionsbefehle dafür??? Aber du wirst es noch lernen Smile
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group