Kollisionen erfragen
Übersicht

![]() |
FleamorBetreff: Kollisionen erfragen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also mein Problem ist recht simpel aber ich kriege es einfach nicht hin.
Ich will als Geschoss eine Kugel nehmen die zu einem Type-Feld gehört. Wenn eine bestimmte Taste gedrückt wird, wird ein zu dem Feld ein Eintrag hinzugefügt. Einer Variable dieses Feldes wird dann die Kugel zugewiesen. Dann kommt aber das eigentliche Problem: Ich will das, wenn das Geschoss auf die Wand trifft, es und der Eintrag vom Feld gelöscht werden und die Variable die die Geschosse zählt die sich in der Welt befinden runtergezählt wird. Aber ich krieg es nicht hin eine anständige Abfrage für die Kollision zu schreiben, denn stattdessen Fliegen sie weiter. Das was ich von euch will ist ganz einfach das ihr mir eine Abfrage ob ein Objekt mit dem anderen Kollidiert gebt.Ich finde nämlich nur beispiele wo irgendeine Nummer des Objektes mit dem das Objekt kollidiert ermittelt wird. |
||
*schwupp* O.O |
![]() |
Hellfront |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich würde das mit ImagesCollide und ImageOverlap machen. Schau sie dir mal in der Onlinehilfe an!(oder beiwww.blitzbase.de)
zeig ma so ein Beispiel... (Link) |
||
![]() |
Fleamor |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein ich mein 3d nicht 2d! | ||
*schwupp* O.O |
![]() |
garret |
![]() Antworten mit Zitat ![]() |
---|---|---|
[EDIT] Ach so, 3D? Na dann habe ich es wohl umsonst geschrieben... Aber vielleicht hilft dir jemand in der 3D-Sektion?
----------------------------- Mal meine Gedanken (Rectsoverlap müsste bei kleinen Kugeln ausreichen, ansonsten ImagesOverlap oder -Collide wie hacker3110 meinte): Code: [AUSKLAPPEN] Type geschosstype Field x,y End Type Repeat:Cls If KeyHit(Schusstaste) geschoss=New geschosstype geschoss\x=20 geschoss\y=20 EndIf geschoss_anzahl=0 For geschoss.geschosstype=Each geschosstype If Rectsoverlap(Wand_x,Wand_y, Wandbreite,Wandhöhe, geschoss\x,geschoss\y,geschossbild_breite,geschossbild_hoehe) Then Delete geschoss.geschosstype EndIf geschoss_anzahl=geschoss_anzahl+1 Next Flip:Until Keyhit(1):End Und gib vielleicht etwas mehr Informationen zu deinem Problem/Projekt. MfG garret |
||
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht) |
![]() |
Fleamor |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ihr macht es euch zu schwer!
Das einzige worum ich euch bitte ist ein Code der eine Kollisions-Abfrage enthält die nur aussagt ob ein Objekt mit einem anderen kollidiert ist. In 3d! Mehr nicht. edit: Das kann doch nich so schwer sein. |
||
![]() |
FleamorBetreff: Hat sich erledigt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh das Problem hat sich erledigt. ![]() Danke jedoch an alle die sich hiermit befasst haben. |
||
*schwupp* O.O |
![]() |
Fleamor |
![]() Antworten mit Zitat ![]() |
---|---|---|
sorry wenn die Überschrift jetzt nicht mehr passt aber ich hab eine
neue Frage: Gibt es eine Funktion mit der ermittelt werden kann ob ein Type-Eintrag der letzte Eintrag ist oder muss ich das aufwendig mit einer Zähl-Variable machen? |
||
![]() |
garret |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das könnte durch einen Vergleich möglich sein: If t.type=Last type
oder eher mit Object und Handle + einer Variable, die zählt wieviele Einträge überhaupt existieren. Ansonsten: einfach ans Ende verschieben ![]() |
||
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group