SpriteCollision

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

SpriteCollision

Beitrag von Mok »

Hi.
Wenn ich wissen möchte, ob das Bild des Mauszeigers (extrabild) zb in einem Spiel den Button überdeckt, wie macht man das dann? mit SpriteCollision kann ich mich tot proggen.
Deshalb:

Code: Alles auswählen

SpriteCollision(#Mouse,1,1,#Button,1,1)
SpriteCollision(#Mouse,2,2,#Button,2,2)
...
.
.
Für die, denen ich's zu kompliziert erklärt habe: (excl. Schleifen)

Code: Alles auswählen

LoadSprite(#Mouse,"Zeiger")
LoadSprite(#Button,"Button")
.
.
.
DisplaySprite(#Mouse,0,0)
DisplaySprite(#Button,50,50)
Wie kann ich jetzt überprüfen, ob und wie der Mauszeiger den Button überdeckt :?:
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

simpler koordinaten-check...

nehmen wir mal an, der Button ist 100x30 pix groß, und sitzt bei 200,150:

Code: Alles auswählen

If MX>200 And MX<300 And MY>150 And MY<180
MX und MY enthalten die mauskoordinaten.
am anfang der Hauptschleife machst du einmal:

Code: Alles auswählen

MX = MouseX()
MY = MouseY()
damit sparst du dir häufigeren aufruf der routinen,
außerdem gehst du die ganze zeit von identischen koordinaten aus,
was ein weiterer vorteil ist.

PS:
weiteres zu Koordinaten-Checks:
http://www.purebasic.fr/german/viewtopic.php?t=9093
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Beitrag von Mok »

Ich hab dann die UserLib ScreenGadget runtergeladen, die mir aber den Compiler ruiniert hat! :evil:
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

tja, dann musst du möglicherweise neu installieren, ich weiß es nicht.
ich hab dich aber auch nicht aufgefordert, irgendwelche libs zu laden.
viele userlibs sind noch nicht 4.0-kompatibel.

da du von sprites gesprochen hast, bin ich erstmal von ausgegangen,
dass du nen normalen screen benutzt.

bei nem windowedscreen musst du die maus etwas anders abfragen.

aber von nem screengadget war nicht die rede, ich selber benutze prinzipiell keine userlibs.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten