Genauer Kollisionspunkt
Übersicht

Blitzkrieg BopBetreff: Genauer Kollisionspunkt |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo!
Also ich brauch bei folgender Sache nen Denkanstoß: Ich prüfe ein Image(I), welches 1*1 groß ist auf Kollision,mit einem anderen Image(II). Dieses andere Image(II) ist 20*20 groß. Image(I) bewegt sich konstant auf die Mitte des Image(II) hin. Sobald Image(I) den Mittelpunkt von Image(II) ereicht hat, ändert sich die Laufrichtung von Image(I). An sich ist das kein Problem. Doch praktisch will es nicht klappen. Automidhandle ist True und damit der Bezugspunkt der Images in der Mitte. Doch trotzdem haut die Kollision (nach einiger Zeit) nicht mehr hin und Image(I) kollidiert mit Image(II),obwohl Image(II) noch garnicht erreicht ist. Abfragen tu ich das ganze mit Imagescollide. Wo liegt der Fehler? MFG |
||
~ Hey Ho Let's Go ~ |
![]() |
Bfox |
![]() Antworten mit Zitat ![]() |
---|---|---|
Warum fragst du das mit ImageCollide ab? Ich würde die Koordinaten brüfen! Mit ImagesCollide fragst du ja den Rand ab! Und nicht den Mittelpunkt!
Und AutoMidhandle Oder MidHandle ist nur zum zeichnen des Bildes und nicht für die Kollision! Probiers mal! |
||
Glauben ist Mangel an Wissen! |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
![]() |
||
~ Hey Ho Let's Go ~ |
- Zuletzt bearbeitet von Blitzkrieg Bop am Mo, Sep 27, 2004 17:15, insgesamt einmal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du ja weisst wie groß die einzelnen Images sind, kannst du dir mit ein paar kleinen If-Abfragen eine zuvrlässige Erkennung auf "Mittenkollision" schreiben. Allerdings gibt es bei einem 20*20 Pixel großen Bild keinen "Mittelpixel", der Mittelpunkt liegt ja zwischen 2 Koordinaten. (Ich nehme allerdings an, das Midhandle etc. automatisch den abgerundeten wert (Integer) verwenden, also kannst du ja (9,9) auf Kollision testen (Da image (0-19,0-19)).
Imagescollide schlägt ja auch bei Midhandle an den Bildgrenzen an (midhandle hat nichts mit der Kolliprüfung zu tun, nur mit der Positionierung), daher wirst du um eine eigene Routine wohl nicht herumkommen. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Okay, auch dir besten Dank BaldeRunner.
Dann werde ich das wohl so tun. |
||
~ Hey Ho Let's Go ~ |
![]() |
Merced |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, aber da die Kollision eh nur in einem Punkt stattfindet ist die eigene Routine wahrscheinlich sowieso eine schnellere Lösung als ImagesCollide oder Overlap.
Allerdings frag mich mich doch was Du da eigentlich bastelst, weil ich mir irgendwie keine sinnvolle Verwendung für die Routine vorstellen kann. |
||
http://www.starship-battles.de.vu
http://www.venture-interactive.de.vu |
![]() |
Bfox |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vieleicht ein Waypoint! Obwohl sich da eher das größere Bild auf den Punkt bewegt! Und nicht umgekehrt! | ||
Glauben ist Mangel an Wissen! |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ne, nicht ganz. Das ist der Anfang eines neuen Projektes...
Aber nochmal an alle: Ich habe mich eben schlecht ausgedrückt. Das die Kolli am Rand geprüft wird, ist eigentlich klar. Nur mein Bild ist bis zur Hälfte mit einer Transparenten Farbe versehen und somit "beginnt" das Bild erst bei der Hälfte. Daher dachte ich, Imagescollide würde gehen. Doch es kam zu Fehlern, wie schon gesagt... . Im mom nehme ich einfach die Lösung, das ich einfach abfrage, ob beide x und y Koordinaten gleich sind. Klappt anscheinend ganz gut. |
||
~ Hey Ho Let's Go ~ |
![]() |
Merced |
![]() Antworten mit Zitat ![]() |
---|---|---|
Haben wir ja gesagt ![]() |
||
http://www.starship-battles.de.vu
http://www.venture-interactive.de.vu |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
... das ist noch nicht erwähnenswert. ![]() |
||
~ Hey Ho Let's Go ~ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group