Bei gedrehtem Sprite3D eine Kollision?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Robin
Beiträge: 26
Registriert: 29.09.2004 13:40
Wohnort: Neuravensburg (Am Bodensee)
Kontaktdaten:

Bei gedrehtem Sprite3D eine Kollision?

Beitrag von Robin »

Wie kann ich die Kollision von zwei gedrehten Sprite3D´s abfragen?
Gibts davür einen Befehl, oder muss man das selber coden?
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Geht nicht direkt, ev. kannst du es aber zuerst auf den Screen malen und dann grabben in ein normales Sprite, dass du dann mit SpritePixelCollision abfragen kannst...

cu
remi
Robin
Beiträge: 26
Registriert: 29.09.2004 13:40
Wohnort: Neuravensburg (Am Bodensee)
Kontaktdaten:

Beitrag von Robin »

Ich versteh dich nicht ganz, gibts davür ein Beispiel?
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

http://forums.purebasic.com/english/vie ... +collision

Aber wenn du nur 3D-Sprites benutzt um Sprites zu rotieren, gibt es dazu irgendwo ein Beispiel, glaub hier:
http://robsite.de/php/pureboard/viewtop ... sc&start=0
Robin
Beiträge: 26
Registriert: 29.09.2004 13:40
Wohnort: Neuravensburg (Am Bodensee)
Kontaktdaten:

Beitrag von Robin »

Geht ned

"ElapsedMilliseconds() is not a funktion..." ??
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Dann hast du wahrscheinlich eine alte PB Version. Wenn du die Vollversion besitzt, kannst du diese Funktion durch timeGetTime_() ersetzten.
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Beitrag von Leo »

Lol! Schonmal was von selbstgeschriebener Block-Kollision gehört?! Du kannst dir ganz einfach ausrechnen, ob sich zwei Boxen überlappen...
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Ich denke jetzt nicht dass er das gemeint hat, sonst könnte er auch die normale Sprite-Kollision nehmen einfach mit dem 2D-Sprite.
Drehbare Boxen sind schon etwas schwerer, aber ganz schwer ist die gedrehte Pixelkollision!
cu
remi
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

da gabs nen thread, wo stefan ne rotier-proc für 2D-sprites gepostet hat.

damit geht dann die normale pixel kollision...

zusätzlich, es ist fraglich, ob man wirklich ne pixelgenaue kollision benötigt.

wie Leo ja sagte, kann man auch ne bounding-box definieren.

eine etwas feinere möglichkeit ist ein bounding-circle, also,
ne kreisförmige begrenzung des sprite.

(für die kollision, nicht in der darstellung)

gabs aber schon viiiele threads dazu...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Kaeru Gaman hat geschrieben:da gabs nen thread, wo stefan ne rotier-proc für 2D-sprites gepostet hat.

damit geht dann die normale pixel kollision...

zusätzlich, es ist fraglich, ob man wirklich ne pixelgenaue kollision benötigt.

wie Leo ja sagte, kann man auch ne bounding-box definieren.

eine etwas feinere möglichkeit ist ein bounding-circle, also,
ne kreisförmige begrenzung des sprite.

(für die kollision, nicht in der darstellung)

gabs aber schon viiiele threads dazu...
Eine BoundingBox kollision ist genauso fein wie BoundingSphere. Wenn du eine auf quadratische Tiles basierte map hast, dann nimmt man logischerweise BoundingBox.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten