Button

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Garfield12

Betreff: Button

BeitragMi, Jun 13, 2007 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab ein wenig geproggt und mich gefragt wie man so´n Button hinbekommt. Also wen man draufclickt kommt man in nen neuen Bereich.
Wie geht das. Ich hab mit For Schleifen und so rumprobiert. Aber bin nicht weit gekommen.
Könnte jemnad mal n Bespiel posten.
MfG

The_Nici

BeitragMi, Jun 13, 2007 14:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Überprüfe ob sich der Mauszeiger auf dem Bild befindet. Falls du ein Bild als mauszeiger hast, kannst du das mit Imagescollided machen, was aber ressourcenfressend ist. du kannst auch überprüfen ob die Position des Mauszeigers stimmt.
Du nimmst die Position des Bildes. Wenn MouseX/Y() grösser als die Bildposition ist, und kleiner als die Bildposition+Bildbreite/höhe, dann ist es auf dem Bild. Wenn dann noch geklickt wird, wird irgendetwas gemacht.
 

Lador

BeitragMi, Jun 13, 2007 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, Nicis Beispiel ist sehr gut, doch eins möchte ich dir noch mit auf den Weg geben:

Mach entweder mehrere Variablen, die du zB "Startmenue", "Optionen" etc. und dann eben wenn du im Startmenü bist, ist "Startmenue = True", wenn du in den Optionen bist, dann machste eben "Optionen = True", aber auch "Startmenue = False", sonst bekommste große Speedschwierigkeiten.

Noch besser wären hier aber Funktionen, da sie das Hauptprogramm sehr übersichtlich halten, und du dir das "Startmenue = False" in den Optionen sparen kannst.

MFG Lador
 

Garfield12

Betreff: Danke

BeitragMi, Jun 13, 2007 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich versuchsmal. Danke an alle !!!
Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy
MfG

Garfield12
 

Lastsamurai

BeitragMi, Jun 13, 2007 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
The_Nici hat Folgendes geschrieben:
Falls du ein Bild als mauszeiger hast, kannst du das mit Imagescollided machen, was aber ressourcenfressend ist.


Muss nicht unbedingt... du kannst auch zuerst überprüfen ob überhaupt geklickt wurde und erst danach mit ImagesCollide die Position überprüfen. Vielleicht hast du das gemeint, aber das ist nicht Ressourcenfressend. Musst halt nur nen Bild laden und es an die Mausposition hängen mehr nicht.

garret

BeitragMi, Jun 13, 2007 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Er meint sicher, dass RectsOverlap() oder ImageRectOverlap() schneller wären als ImagesCollide(), was hier "missbraucht" wird.

MfG garret
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht)

Skabus

BeitragMi, Jun 13, 2007 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
garret hat Folgendes geschrieben:
Er meint sicher, dass RectsOverlap() oder ImageRectOverlap() schneller wären als ImagesCollide(), was hier "missbraucht" wird.

MfG garret


Das seh ich mal genauso.Keine Ahnung wozu man hier ImageColide() braucht.Höchstens wenn du genaustens wissen willst ob der Mauszeiger
exakt auf dem Bild ist.

Ist vielleicht für ausgefallene Buttons gut(ein Baum z.B. als Button)
aber meist sind Buttons quadratisch.
ImageRectOverlap() reicht völlig aus.....


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

Skabus

BeitragMi, Jun 13, 2007 20:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Skabus hat Folgendes geschrieben:
garret hat Folgendes geschrieben:
Er meint sicher, dass RectsOverlap() oder ImageRectOverlap() schneller wären als ImagesCollide(), was hier "missbraucht" wird.

MfG garret


Das seh ich mal genauso.Keine Ahnung wozu man hier ImageColide() braucht.Höchstens wenn du genaustens wissen willst ob der Mauszeiger
exakt auf dem Bild ist.

Ist vielleicht für ausgefallene Buttons gut(ein Baum z.B. als Button)
aber meist sind Buttons quadratisch.
ImageRectOverlap() reicht völlig aus.....


EDIT: ich wollte gerade anfügen das man ja auch ERST klicken und dann
prüfen könnte.Das würde die Berechnungszeit erheblich verkürzen, aber
ich seh gerade, den tip hat schon jemand gegeben XD

MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

garret

BeitragDo, Jun 14, 2007 10:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man wissen will, ob sich zwei Bilder genau überlappen, nimmt man ImagesOverlap(), da ImagesCollide() auch True zurückgibt, wenn sich Maus und Bild nur berühren, nicht überlappen. Bei einer Kollision mit Maus und Bild handelt es sich nahezu immer um eine Überlappung, keine "echte" Kollision.

Meiner Meinung nach ein seltsamer Kult, der neuen Neulingen von älteren Neulingen fälschlicherweise beigebracht wird: Überall ImagesCollide() nehmen. Überlappen sich zwei Bilder, nennt man das zwar auch Kollision, aber ImagesCollide() ist bei Überlappung von Maus und Bild meist der ungeeignetere Befehl (zumal die Overlap-Befehle auch noch schneller sind).


MfG garret
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht)
 

Garfield12

BeitragFr, Jun 15, 2007 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab probiert und probiert aber es hat auf The Nici´s Art nicht hingehauen.
Also nicht das das Beispiel schrott wär aber mit der Umsetzung hats einfach nicht gefunzt. Könntet ihr nicht einfach ein Bespiel mit Code posten????
MfG

Ein Noobiger Garfield12

pile

BeitragFr, Jun 15, 2007 20:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Mal ein Tip Garfield. Fange doch mal selber an einen Code zu machen. Diesen erweiterst du Schritt für Schritt mit EIGENEM Code. Du fängst also an die Mausposition abzufragen. Wenn du das fehlerfrei geschafft hast fügst du eine Grafik in dein Programm ein. Da du das selber gemacht hast, weißt du dann auch welche Position und Größe die Grafik hat. Nun programmierst du eine If-Abfrage die deinem Programm sagt ob die Maus sich auf dem Bild befindet. Wenn du das gemacht hast und es nicht funktioniert, postest du mal deinen Code hier rein.
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238%
 

Lador

BeitragFr, Jun 15, 2007 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Am besten, befolge Piles Tipps, kannst dir aber auch mal das durchlesen (ist erst ein paar Tage alt):

https://www.blitzforum.de/foru...hp?t=23881

Hoffe, dass dir das weiterhilft.

MFG Lador

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group