Seite 1 von 1
Formen vergleichen
Verfasst: 29.09.2009 18:39
von Elayn
Hi,
ich möchte von 2 sprites die form vergleichen (ein vorgegebenes & eins vom user).
also wie SpritePixelCollision(), aber anstatt 0 und 1 als rückgabewert z.B. einen wert, zu wieviel % sich die sprites überlappen.
Re: Formen vergleichen
Verfasst: 29.09.2009 18:47
von STARGÅTE
Teste zuerst ob sie sich überhaupt überlappen mit SpritePixelCollision(),
dann kannst du an hand der Positionen der beiden Sprites die Pixel jeweils vergleichen und dann bekommst du einen Wert.
Dabei ist jedoch wichtig auf welches Sprite sich die Prozentangabe bezieht.
Re: Formen vergleichen
Verfasst: 29.09.2009 18:53
von Elayn
soll ich sie also mit Point() vergleichen?
ich wollte eigentlich einen drawing-bereich wegen dem geschwindigkeitsverlust vermeiden.
Re: Formen vergleichen
Verfasst: 29.09.2009 18:57
von kswb73
Ich würde sagen du legst ein Array an mit der Größe des 1. Bildes. Dort speicherst du für jeden Pixel ab, ob dort eine Kollision statfinden kann oder nicht. Dann liest du das zweite Bild aus und schaust für Pixel einzeln nach ob er, wenn er kollidieren kann, auf eine Pixel des 1. Bildes liegt, wo eine Kollsion stattfinden kann. Du speicherst die Anzahl der Zutreffenden Fälle und Dividierst (Teilst) sie durch die Zahl der vorhandenen Pixel. (Floats/Doubles verwenden)
Zum Punkte Geschwindigkeit. Schau dir mal die Beispiele für DirectDrawing an. Du findest sie in der Hilfe bei den 2ddrawing Befehlen. Das ist deutlich schneller.
Re: Formen vergleichen
Verfasst: 29.09.2009 19:13
von Elayn
ich verstehe nicht ganz, wie die einzelnen pixel geändert werden, wo der befehl dafür in der repeat-schleife steht.