Funktionen nach Parametern ansprechen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Bamboo

Betreff: Funktionen nach Parametern ansprechen

BeitragSo, Jul 11, 2010 23:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß jetzt nicht, ob die Überschrift wirklich zum Thema passt, da ich ja offensichtlich noch nicht so erfahren bin, aber ich hoffe, dass dies mir nicht allzu übel genommen wird.

Und zwar: wenn ich den
Code: [AUSKLAPPEN]
Graphics 800, 600
SetBuffer BackBuffer()

Calibri = LoadFont("Calibri", 50, 1)
SetFont Calibri

button_1 = LoadImage("Button_1.png")
button_1_press = LoadImage("Button_1_press.png")



Repeat
   Cls

   ShowButton (button_1, button_1_press, 200, 100, "Start")
   ShowButton (button_1, button_1_press, 200, 600, "Ende")
      
   If ShowButton (button_1, button_1_press, 200, 100, "Start") = 1 Then Text 0, 0, "Button wird angeklickt!"
   If ShowButton (button_1, button_1_press, 200, 600, "Ende") = 1 Then Exit
   If KeyHit(1) Then Exit
   
   Flip
Forever
End

Function ShowButton (graphic_1, graphic_2, x, y, title$)
   
   MaskImage graphic_1, 255, 255, 255
   DrawImage graphic_1, x, y
   
   width_graphic = ImageWidth(graphic_1)
   x_text = x + width_graphic/2
   y_text = y + 25
   Text x_text, y_text, title$, 1
   
   If MouseDown(1)   And ImageRectCollide(graphic_1, x, y, 0, MouseX(), MouseY(), 1, 1)
      MaskImage graphic_2, 255, 255, 255
      DrawImage graphic_2, x, y

      width_graphic = ImageWidth(graphic_1)
      x_text = x + width_graphic/2
      y_text = y + 25
      Text x_text, y_text, title$, 1
      
      Return 1
   Else
      Return 0
   EndIf
   
End Function


eingebe, erscheint nur ein Button, und zwar jener mit der Aufschrift "Start", der zuerst durch die Funktion ShowButton, ähm, deklariert/definiert/aufgerufen(?) wurde.

Ich vermute, dass bei der Abfrage des Return-Wertes der Funktion ein neuer Button erstellt wird, aber ich weiß nicht, wie man die beiden Buttons einzeln "anspricht" (so heißt das doch, oder?). Braucht man dazu Arrays, die bei jedem Funktionsaufruf "gefüllt" werden?

Bitte antwortet, auch wenn das hier vermutlich eine der dämlichsten Fragen überhaupt im Forum ist! Embarassed

Achso: ich weiß, dass von 'ImageRectCollide' abgeraten wird, aber wie kann man dann Buttons erstellen? Question

robotx

BeitragSo, Jul 11, 2010 23:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Das extra Aufrufen der Funktionen hier
Code: [AUSKLAPPEN]
ShowButton (button_1, button_1_press, 200, 100, "Start")
   ShowButton (button_1, button_1_press, 200, 600, "Ende")

kannst du dir sparen, da die Funktionen schon in den If-Abfragen abgearbeitet werden.


Zu deinem eigentlichen Problem:
Fällt dir an der Bildschirmauflösung für dein Programm
Graphics 800,600
und dem Zeichenbereich des "Ende" Buttons
ShowButton (button_1, button_1_press, 200, 600, "Ende") etwas auf?

mfg robotx
www.botbomb.robotzgames.de
www.robotzgames.de
 

Bamboo

BeitragMo, Jul 12, 2010 11:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Shocked
Ich bin schon einmal alle Positionen durchgegangen, allerdings vor den wesentlichen Änderungen. Deswegen dachte ich, es läge nicht an der Position und habe diese deshalb vollkommen ignoriert. Wie man nur so idiotisch sein kann Shocked

Aber vielen Dank für die schnelle Antwort!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group