Kollisionsabfragen für Mausklicks

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

C64-Flo

Betreff: Kollisionsabfragen für Mausklicks

BeitragFr, Sep 29, 2006 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe damit angefangen, meine GUIs als fertige Bilder zu erstellen und das Bedienen der Schaltflächen mittels Kollisionsabfragen von Mauszeiger und Rechteckigen Zonen zu bewerkstelligen.

Komischerweise funktioniert immer nur die oberste "IF..." Bedingung...

Zitat:

If MouseHit(1) And ImageRectCollide(maus, MouseX(), MouseY(), frame, 330, 540, 130, 40) Then End ;klick auf ausgangsbutton

If MouseHit(1) And ImageRectCollide(maus, MouseX(), MouseY(), frame, 60, 345, 120, 125)Then
sp(1,1)=1
spielername$(1,2)="Barbaren"
End If
If MouseHit(1) And ImageRectCollide(maus, MouseX(), MouseY(), frame, 195, 345, 120, 125)Then
sp(1,1)=2
spielername$(1,2)="Untote"
End If
If MouseHit(1) And ImageRectCollide(maus, MouseX(), MouseY(), frame, 335, 345, 120, 125)Then
sp(1,1)=3
spielername$(1,2)="Menschen"
End If
If MouseHit(1) And ImageRectCollide(maus, MouseX(), MouseY(), frame, 475, 345, 120, 125)Then
sp(1,1)=4
spielername$(1,2)="Elfen"
End If



woran liegt das?
...oder gibt es da ohnehin eine simplere methode wie ich schaltflächen einbauen kann? Question
"Die Situation ist aussichtslos - aber nicht kritisch!"
(S.Effenberg.)

Hubsi

BeitragFr, Sep 29, 2006 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ql:MouseHit() - MouseHit gibt die Klicks seit dem letzten Aufruf zurück. So schnell kann niemand klicken wie die Schleife das durchrattert Very Happy Speicher den Wert von MouseHit in einer Variable und verwende diese in den If's. Oder Du packst das ganze in eine If...EndIf Konstruktion, je nach weiterem geplanten Programmaufbau.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Christoph

BeitragFr, Sep 29, 2006 12:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein häufiger (und hinterlistiger) Fehler...
Sollte vllt mal in die FAQ aufgenommen werden...

C64-Flo

BeitragFr, Sep 29, 2006 12:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank!

Habs hinbekommen!

..wirklich gemein, da wär ich nie draufgekommen Wink
"Die Situation ist aussichtslos - aber nicht kritisch!"
(S.Effenberg.)
 

Dreamora

BeitragFr, Sep 29, 2006 13:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Deswegen gibt es ja glücklicherweise dieses komische Ding, das erscheint, wenn man F1 drückt, wird glaub auch Hilfe genannt und ist des Programmierers bester Freund Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

D2006

Administrator

BeitragFr, Sep 29, 2006 13:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Christoph hat Folgendes geschrieben:
Ein häufiger (und hinterlistiger) Fehler...
Sollte vllt mal in die FAQ aufgenommen werden...



Unlängst geschehen. Scheint bloß keinen zu interessieren.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Christoph

BeitragFr, Sep 29, 2006 13:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man auf den "Neuen Beitrag schreiben" Button klickt sollte man auf eine Seite umgeleitet werden, auf der steht:

Zitat:
Bist du dir sicher???

Überprüfe, insofern du Probleme mit einem Quelltext hast, ob der Fehler möglicherweise schon in dieser Liste vorhanden ist.

Danke,
die Forenadministration


Laughing

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group