[GELÖST] ImageCollide2 Probleme mit CreateImage()?
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
CO2ehemals "SirMO"Betreff: [GELÖST] ImageCollide2 Probleme mit CreateImage()? |
Mo, Jan 25, 2016 20:55 Antworten mit Zitat |
|
---|---|---|
Hallo,
ich habe da mal eine Frage: Für ein Projekt brauche ich eine Kollisionsabfrage. Diese realisiere ich mit ImagesCollide2(). Beide Bilder, die ich überprüfe, werden mit CreateImage() erstellt und gehen jeweils auf unterschiedliche Rechtecke zurück. Beide Bilder werden nicht angezeigt, was auch so sein soll. Eine Debugprüfung mit malen der Bilder hat ergeben, dass Position und Rotation der Bilder korrekt sind - Trotzdem liefert ImagesCollide2() selbst bei Überlappung beider Bilder False zurück. Die Frage ist: Warum ist das so? Hat ImagesCollide2() ein Problem mit den via CreateImage() erstellten Bildern? Liegt es eventuell an der MaskColor, welche ich auf 255, 0, 255 gestellt habe? Oder am veränderten ImageHandle? Da ich nicht meinen ganzen Code hier posten kann (er ist immerhin 22 kB groß), hier ein Code, der prinzipiell dasselbe tut BlitzMax: [AUSKLAPPEN] Type TRect P.S.: Meine Grafikkarte ist eine Nvidia Geforce GTX 750 Ti (Ich glaube es gab ja Probleme mit einigen Karten und ImagesCollide2? Oder war das nur in BlitzBasic?) |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
- Zuletzt bearbeitet von CO2 am Mi, Jan 27, 2016 14:47, insgesamt einmal bearbeitet
Midimaster |
Di, Jan 26, 2016 10:46 Antworten mit Zitat |
|
---|---|---|
So wird das nix... Es genügt nicht das Bild mit ImageCreate() zu erstellen. Dies erzeugt nur ein leeres Bild mit den gewünschten Ausmaßen. Es enthält keine Pixel und führt daher auch niemal zu einer erfolgreichen Kollision. Bei ImageCollide() werden nur existierende Pixel gecheckt.
BlitzMax: [AUSKLAPPEN] SuperStrict |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
CO2ehemals "SirMO" |
Di, Jan 26, 2016 18:04 Antworten mit Zitat |
|
---|---|---|
Vielen Dank, das war die Lösung!
Für alle, die es benötigen, die Methode TRect.GetImage() muss wie folgt aussehen BlitzMax: [AUSKLAPPEN] '... |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group