Menü -> Tutorial hier ausm Board.
Übersicht

azureuzBetreff: Menü -> Tutorial hier ausm Board. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
So denn. Dein Code hier ist ein einziger Fehlerhaufen ![]() - 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 ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hey,danke jungs! ich muss dann wohl noch weiter an meinem code-stil arbeiten! ![]() edit: komisch...trotzdem will das nicht laufen. Code: [AUSKLAPPEN] *code weg*
edit2: ...hab was vergessen..funzt doch ![]() 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... ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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... ![]() ![]() |
||
Das Leben ist hart, aber fair! |
- Zuletzt bearbeitet von Schraube am Fr, Dez 03, 2004 20:18, insgesamt 2-mal bearbeitet
Schraube |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
sorry, verklickt | ||
Das Leben ist hart, aber fair! |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Schraube: Kuck Dir doch den Code von azureuz an, der schraubt an den selben Problemen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Schraube |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab ich schon paar mal angeglubscht, komm trotzdem nicht weiter... ![]() ![]() |
||
Das Leben ist hart, aber fair! |
![]() |
Gina |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau doch mal ins code-Archiv ![]() KLICKMICK LG, Gina. |
||
www.jk-spiele.de |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group