bild kollision

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

onkelz89

Betreff: bild kollision

BeitragMi, Feb 08, 2006 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

habe ein problem
ich habe viele kleine rechtecke(bilder) die typs sind
jetzt habe ich eine abfrage gemacht mit der collision
wenn ja dann bleiben sie stehen wenn nein fallen sie
und auf dem boden bleiben sie auch liegen...

allerdings ist das problem das in einer for each schleife
der type dies auf sich selbst bezieht also bleiben sie immer stehen da sie mit sich selber collidieren

wie kann ich das ändern?

mfg
onkelz
 

HW

BeitragMi, Feb 08, 2006 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Tja, da hilft eigentlich nur eins: Verschiedene Types für verschiedene Rechtecke. Oder du machst innerhalb deiner For Each Schleife noch eine For Each Schleife, was allerdings die FPS niederwalzen könne...
 

onkelz89

BeitragMi, Feb 08, 2006 19:48
Antworten mit Zitat
Benutzer-Profile anzeigen
jo hab das mit den 2 schleifen gemacht aber dann meint der das 2te next wäre falsch und wenn ich es weg mache ist es auch falsch
 

HW

BeitragMi, Feb 08, 2006 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hä? Etwas mehr Info wäre auch gut. Was für eine Fehlermeldung bekommst du? Welchen Text markiert der Debugger? Wie sieht die Doppelschleife bei dir aus?
Ich hatte nämlich noch nie Probleme mit verschachtelten For Each Schleifen...also müsste es funktionieren können.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, Feb 08, 2006 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht mit eine For Schleife und einer While wend sehr schön!
Da wird dann nichts doppelt geprüft und nicht mit sich selbst!

Meiner Meinung die einfachste und schnellste Lösung!
Code: [AUSKLAPPEN]
For a1.typ = Each Typ
   a2.Typ After a1
 While a2 <> Null
   
   ;Check a1 a2
   ;
   ;
   a2.typ = After a2
 wend
Next
[BB2D | BB3D | BB+]
 

HW

BeitragMi, Feb 08, 2006 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
BTW: Du solltest auch prüfen, ob der Type in der zweiten Schleife derselbe ist, wie der in der ersten Schleife. Sonst könnte es zu Problemen kommen...
Also ich mein etwa so (ich nehm mal Rallimans Beispiel):
Code: [AUSKLAPPEN]
If a1=a2 Then ;prüf nicht auf Kollision

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, Feb 08, 2006 20:11
Antworten mit Zitat
Benutzer-Profile anzeigen
In meinem Beispiel wird das ( a1=a2 ) nie zutreffen
[BB2D | BB3D | BB+]
 

HW

BeitragMi, Feb 08, 2006 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, mit deinem Beispiel meinte ich nur, anhand deiner Variablen...
Was ausserdem auch nie in deinem Beispiel zutreffen wird: Dass nach den Types vor dem zu prüfenden Type geprüft wird.
Ich will mit dieser Ergänzung allerdings keinesfalls offensiv/aggressiv klingen und/oder unsinnige Diskussionen beginnen.
 

onkelz89

BeitragDo, Feb 09, 2006 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
ok thx
werde mir das nochmal genauer anschauen bin grade nur drübergeflogen aber glaube das war das was ich suchte

danke

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group