Menü -> Tutorial hier ausm Board.

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

azureuz

Betreff: Menü -> Tutorial hier ausm Board.

BeitragMi, Dez 01, 2004 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Also,
ich hab da ein kleines Problem. ich hab [url=dieses]https://www.blitzforum.de/viewtopic.php?t=6780[/url] Tutorial mal 'nachgebaut' und wollte statt Text, Bilder als Buttons nehmen. Leider kann ich dann nur an einem bestimmten Punkt klicken. Also das es da weitergeht. Schwer zu erklären. Hier mal ein Teil meines Codes:

Code: [AUSKLAPPEN]
Function GameMenue()

Local temp_zustand = game_zustand

FlushKeys()
FlushMouse()

Repeat

start=LoadImage("start.bmp")
bg =LoadImage("bg.bmp")
optionen=LoadImage("optionen.bmp")


DrawImage bg,0,0
DrawImage start,512,384
DrawImage optionen,512,430

FreeImage bg
FreeImage start
FreeImage optionen

If MouseHit(1) 
If RectsOverlap(MouseX(),MouseY(),1,1,GraphicsWidth()/2,400,StringWidth(START),StringHeight(START))

game_zustand = game_haupt 
End If
End If


If KeyHit(1)
End
End If

Flip
Until game_zustand<>temp_zustand

End Function


Ich hoffe mir kann jemand weiterhelfen!

Hubsi

BeitragMi, Dez 01, 2004 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
So denn. Dein Code hier ist ein einziger Fehlerhaufen Very Happy Gehe die folgenden Punkte Schritt für Schritt durch:

- Die Bilder global am Anfang des Codes laden. Nie in einer Schleife.
- Die ganzen FreeImage werden somit überflüssig, also rausschmeissen
- Notiere statt GraphicsWidth() 512, hier wird ja auch das Image gezeichnet
- Aus der 400 mach 384
- Das StringWidth(START) ersetze durch die Breite Deines Bildes in Pixeln
- Das StringHeight(START) durch die Höhe
- Verstehe das warum und wieso und hab Spaß beim weitercoden Razz
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, Dez 01, 2004 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
1. Bilder nie in einer schleife laden, sondern immer davor

Code: [AUSKLAPPEN]

Function GameMenue ( )

    start = LoadImage ( "start.bmp" )
    bg = LoadImage ( "bg.bmp" )
    optionen = LoadImage ( "optionen.bmp" )
   
    Repeat

    Until ...
   
    FreeImage bg
    FreeImage start
    FreeImage optionen

End Function

2. bei vergleichen von bild mit rechteck gibt es den Befehl
ImageRectOverlap
demnach müssen die Abfragen lauten
Code: [AUSKLAPPEN]
If ImageRectOverlap (bg,0,0, MouseX(),MouseY(),1,1) ...
If ImageRectOverlap (start,512,384, MouseX(),MouseY(),1,1) ...
If ImageRectOverlap (optionen,512,430, MouseX(),MouseY(),1,1) ...

dann gibt es noch andere Varianten, aber diese sollte wohl am einfachsten sein!

da war ich wohl nicht schnell genug, aber was soll´s
[BB2D | BB3D | BB+]
 

azureuz

BeitragMi, Dez 01, 2004 16:31
Antworten mit Zitat
Benutzer-Profile anzeigen
hey,danke jungs! ich muss dann wohl noch weiter an meinem code-stil arbeiten! Very Happy

edit: komisch...trotzdem will das nicht laufen.

Code: [AUSKLAPPEN]
*code weg*


edit2: ...hab was vergessen..funzt doch Very Happy

edit3: wieso funzt das zweite bild, optionen nicht?
edit4: das geht nur wenn ich den mousehit auf (2) stelle?

Code: [AUSKLAPPEN]
*code weg*


edit5: funktioniert jetzt doch... Very Happy ich bin echt komisch...

Code: [AUSKLAPPEN]
Function GameMenue()

DrawImage bg,0,0
DrawImage start,512,384
DrawImage optionen,512,430

Local temp_zustand = game_zustand

FlushKeys()
FlushMouse()

Repeat

If MouseHit(1) 
If RectsOverlap(MouseX(), MouseY(), 1,1,512,384,141,34)
game_zustand = game_haupt 
End If
If RectsOverlap(MouseX(), MouseY(), 1,1,512,430,197,41)
game_zustand = game_opt 
End If
End If

If KeyHit(1)
End
End If

Flip
Until game_zustand<>temp_zustand

End Function

Gina

BeitragMi, Dez 01, 2004 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

kleiner Tipp:

sämtliche Tastatur- und Mausabfragen immer in Variablen speichern und dann die Variable abfragen. Also z.B.
Code: [AUSKLAPPEN]
MH = Mousehit()
If MH then...

Grund: ich habe z.B. Mein menü so gestaltet, dass man es sowohl mit Maus als auch mit Tastatur bedienen kann. Das sind dann schonmal mind. 5 versch. Abfragen. Wenn ich die nicht in Variablen speicher, dann kommt es auf einigen PCs teilweise zum Einfrieren des Menüs. If MouseHit() dauert offensichtlich erheblich länger als die Abfarge einer Variablen. Warum auch immer. Er scheint dann teilweise zu warten. und wenn dann in der Hauptschleife des Spiels noch viel mehr Eingaben abgefragt werden...

Und hin und wieder sollte man den Maus- und Tastatur-Puffer leeren, damit es nicht zum Überlauf kommt. (FlushKeys/FlushMouse)

Liebe Grüße, Gina.
www.jk-spiele.de
 

Schraube

BeitragFr, Dez 03, 2004 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Tachchen, wisst ihr, was ich machen muss, damit sich, wenn ich mit der MAus über die Schrift fahre die Farbe ändert und wenn ich draufklicke ne neue Funktion öffnet??






Code: [AUSKLAPPEN]
Graphics 640,480, 16, 1
SetBuffer BackBuffer()



;Hauptschleife;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


Repeat

menue()

Until mouseHit(1)



;Funktionen;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



Function Menue()

font1 = LoadFont("Impact",40)
Maus = LoadImage("Maus.bmp")

Repeat

Cls

x = MouseX()
y = MouseY()


SetFont font1


Text 220, 100, "Start"
Text 220, 200, "Optionen"
Text 220, 300, "Ende"





DrawImage Maus, x, y

Flip

until mousehit(1)
End
End Function






weiter bin ich leider noch nicht... Embarassed Embarassed
Das Leben ist hart, aber fair!
  • Zuletzt bearbeitet von Schraube am Fr, Dez 03, 2004 20:18, insgesamt 2-mal bearbeitet
 

Schraube

BeitragFr, Dez 03, 2004 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry, verklickt
Das Leben ist hart, aber fair!

Hubsi

BeitragFr, Dez 03, 2004 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
@Schraube: Kuck Dir doch den Code von azureuz an, der schraubt an den selben Problemen Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Schraube

BeitragFr, Dez 03, 2004 20:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab ich schon paar mal angeglubscht, komm trotzdem nicht weiter... Sad Sad
Das Leben ist hart, aber fair!

Gina

BeitragFr, Dez 03, 2004 23:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau doch mal ins code-Archiv Wink

KLICKMICK

LG, Gina.
www.jk-spiele.de

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group