Frage von Star4Fun, 28

Wie Collisions feststellen bei transparenten BufferedImages?

Ich komme momentan nicht weiter. Ich habe zwei Images die zusammenstoß jetzt habe ich die Alphazahl jedes Pixel in den BufferedImages geprüfte und in ein Multidimensionalen Array gepackt. Die Collision funktioniert an sich auch ganz gut nur leider ist die Berechnung viel zu langsam. Würde mich freuen wenn jemand, der in diesem Bereich Erfahrungen hat mir helfen könnte.

Antwort
von PerfectMuffin, 19

Pixelwise-Collision ist von Natur aus extrem langsam.

Erzeugst du dein Array bei jedem Test neu?

Kommentar von Star4Fun ,

Nein habe eine Klasse gemacht die aus BufferedImage erbt und bei der Alpha abfrage prüft ob der Array schon "geladen" ist. Und ihn halt sonst lädt.

Kommentar von PerfectMuffin ,

Und das Alpha ist für dich deswegen relevant, weil du wirklich pixelgenaue Kollision haben willst?

Ich glaube das ist keine gute Idee.

Kommentar von Star4Fun ,

Ich hatte auch die Idee einfach ein Rechteck so nah wie es geht um das Image zu machen und dann einfach zu prüfen ob das Rechteck kollidiert, aber ich denke das das zu ungenau ist oder? Möchte einen Side Scrollen programmieren. 

Kommentar von PerfectMuffin ,

Bei einem Side Scroller braucht man solche Präzision normalerweise nichtm, aber wenn dir ein Rechteck zu ungenau ist, nimm halt mehrere.

Kommentar von Star4Fun ,

Danke ist ne gute Idee ich probiere es und melde mich nochmal.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten