Schaltflächen in einem Extramenü, wie geht das?

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Kevin

Betreff: Schaltflächen in einem Extramenü, wie geht das?

BeitragFr, Dez 31, 2010 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Tag, ich habe ein Problem bzw. brauche eure hilfe.

Ich Programmiere ein Spiel, wo man in einer Virtuellen Stadt rumläuft und Grafittis malen soll.

so und hier mein Problem:

ich möchte dass man in einem Extramenü (beliebige taste) farben für die Spraydose auswählen kann. also man klickt die Farbe an, und dann schließt sich das menü und die Dose sprüht dann die Ausgewählte Farbe.

Ich bitte um Hilfe

Johannes´

BeitragFr, Dez 31, 2010 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Du zeigst ein Bild an bzw. erstellst ein Bild, in dem die Farben nebeneinander angezeigt werden. Dann prüfst du, wenn die Maus gedrückt wurde, wo sich der Mauszeiger befindet. Du prüfst dann anhand der Koordinaten der Farben-Felder, in welchem sich die Maus befindet.
 

Kevin

BeitragFr, Dez 31, 2010 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst du das bitte genauer schreiben? denn ich versteh' nur Bahnhof

Johannes´

BeitragFr, Dez 31, 2010 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest es über diesen Code machen:
BlitzBasic: [AUSKLAPPEN]
DrawImage farbverlauf,0,0

If MouseHit(1) And MouseX()<=400 And MouseX()>=0 And MouseY()<=50 And MouseY()>=0 Then
farbe=255-(MouseX()*255)/400
EndIf


Hier das Bild dazu:
user posted image

Das ist jetzt nur mit Graustufen, sollte sich aber auch so ähnlich auf Farbe übertragen lassen.


Ich hatte vorhin Farbfelder erwähnt, also mehrere ausgewählte Farben getrennt, dass kannst du machen, wie du willst. (Hier ist es ja ein Farbverlauf.)

Ana

BeitragFr, Dez 31, 2010 15:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Geht es dir eigentlich um die Farbe oder um das Menü?

Also willst du wissen wie man das mit Button macht, das man sie anklickt und ein Menü sich öffnet oder willst du die Farbauswahl wissen?

Letzteres wurde ja schon sehr schön erklärt.
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine

US-Blitz

ehemals "SimssmiS"

BeitragFr, Dez 31, 2010 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn ich das richtig verstehe will er ein eigenes Fenster zum auswählen. Sprich er drückt eine taste, ein Fenster öffnet sich und man kann die Farben wählen. Beispiel hierfür wäre paint.Net.
 

Sterbendes Lüftlein

BeitragSa, Jan 01, 2011 2:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt
 

Kevin

BeitragMo, Jan 03, 2011 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
also es soll EIN bitmap sein wo die farben drin sind, dund diese farben soll man anklicken können.
 

Sterbendes Lüftlein

BeitragMo, Jan 03, 2011 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

Tennisball

BeitragMo, Jan 03, 2011 23:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder ganz einfach:

Prüfen ob die Maus sich auf dem Bild befindet und sollte das der Fall sein, mit ReadPixel mit den Parametern mausx und mausy die Farbe auslesen.
 

Sterbendes Lüftlein

BeitragMo, Jan 03, 2011 23:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt
 

Kevin

BeitragDi, Jan 04, 2011 1:31
Antworten mit Zitat
Benutzer-Profile anzeigen
also irgendwie Funktioniert DrawImage nit Sad

Code: [AUSKLAPPEN]
Menue = LoadImage ("Menü.bmp")

While Not KeyHit (1)

If KeyDown (17) Then DrawImage Menue,100,100
 

Sterbendes Lüftlein

BeitragDi, Jan 04, 2011 9:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

ozzi789

BeitragDi, Jan 04, 2011 9:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Setbuffer?
Flip?
Wend?

Code: [AUSKLAPPEN]
x=600
SetBuffer BackBuffer()


While Not KeyHit(1) ;Beginn hauptschleife
   mx=MouseX();Maus infos speichern (da es zu "falschen" werten kommt bei mehrfacher abfrage)
   my=MouseY()
   md=MouseDown(1)
   Cls ;Bildschirm leeren
      ;Scrollender Text mit Anweisungen, soll dein Spiel simulieren
      x=x-1 ;text nach rechts "bewegen"
      If x<-700 Then x=400 ;falls zu weit rechts wieder ganz nach links setzen
      Color 255,255,255
      Text x,90,"SPIEL SPIEL SPIEL SPIEL (drück und halte die leertaste, dann wähl eine farbe mit Mousedown (drücken+halten)"
      If KeyDown (57) ;Wenn Leertaste gedrückt und gehalten wird dann showmenu auf 1 setzen (siehe unten)
         showmenu=1   
      Else
         showmenu=0
      EndIf
      If showmenu=1   ;Wenn Showmenu=1 dann die Vierecke einzeichnen
         For stufe= 1 To 10      
            Color stufe*20,256-stufe*4,stufe*10
            Rect stufe*30,0,20,20
         Next
         For stufe=1 To 10 ;Wenn maus über den Vierecken und md (mouse gedrückt) dann anzeigen welche farbe gewählt wurde
            If mx>stufe*30 And mx<stufe*30+20 And my>0 And my<20 And md=1 Text 200,50,"farbe "+stufe+" ausgewählt"   
         Next
      EndIf
   Flip
Wend




Bei Fragen fragen!
Nicht einfach kopieren, ist auch nicht wirklich schön, nur zum Verständnis.

mfg
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

Kevin

BeitragMi, Jan 05, 2011 20:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich verstehe das so in etwa, aber wenn ich es in mein spiel via Include einfüge, Blinkt das Farbmenü und die eingebaute FPS anzeige wird grün :S

Und da brauche ich wie immer EURE Hilfe!
 

Toasty

BeitragMi, Jan 05, 2011 20:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Vor die FPS Stelle
BlitzBasic: [AUSKLAPPEN]
Color(255,255,255)

schreiben Wink
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President!
 

Kevin

BeitragDo, Jan 06, 2011 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, das funktioniert, aber wie löse ich das Blinkende Menü Problem ?

Xeres

Moderator

BeitragDo, Jan 06, 2011 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Schreib deinen Code selbst - dann verstehst du ihn und kannst Bugs selber finden...
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
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Kevin

BeitragDo, Jan 06, 2011 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich versehe den Code, aber ich finde den Bug nicht!
 

Toasty

BeitragDo, Jan 06, 2011 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Bin jetzt nicht die ganze Zeit dabei, aber hast du schonmal CreateTimer() und WaitTimer() ausprobiert?
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President!

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group