[3d] collisionen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Sir Dan

Betreff: [3d] collisionen

BeitragDo, Jul 21, 2005 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Ich hab zwar in der OH nachgeschaut, aber nichts passendes gefunden. Mein Problem ist, dass ich nach einem Befehl wie Imagescollide nur für meshes suche. Also so was wie Entitycollide. Aber Entitycollide liefert ja nur irgend eine Id zurück. Deswegen wollte ich fragen, ob es möglich ist diesen Id-wert vorher rauszubekommen oder ob es einen besseren befehl gibt. Danke.

Sirdan
(\_/)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

Bionical

BeitragFr, Jul 22, 2005 10:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, ich weiß nicht ob mein Befehl besser ist aber du kannst es ja mal probieren! Wink

Also ich mach das mit:
BlitzBasic: [AUSKLAPPEN]

;das ganze anfangs-zeug........
mesh1=LoadMesh(\"deinmesh.3ds\")
MoveEntity mesh1,0,0,0
EntityType mesh1,1
EntityRadius mesh1,1 ;den wert kannst du verändern, wenn du einen größeren radius willst!

mesh2=LoadMesh(\"deinmesh2.3ds\")
MoveEntity mesh2,0,-5,0
EntityType mesh2,2
EntityRadius mesh2,1 ; ;den wert kannst du verändern, wenn du einen größeren radius willst!

;camera erstellen, vielleich auch terrain und licht
While Not KeyHit(1)
Collisions 1,2,2,2 ;Die ersten beiden zahlen sind die typen der meshs, die dritte zahl sgt was kollidiert(polygone, kugel, box...)und die vierte zahl sagt was der mesh machen soll, in dem fall soll er nichts machen bzw. ausweichen (nach oben oder unten)
;wenn du terrain mit hügeln hast must du noch das machen das er auch wieder vom berg runtergeht: (also \"schwerkraft\")
MoveEntity mesh1,0,-0.3,0
MoveEntity mesh2,0,-0.3,0

;hier kannst du noch bewegung und so machen

;das ganze abschließen und

fertig! Smile


Ich hoffe ich konnte dir helfen!

mfg
Bionical
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

Sir Dan

BeitragFr, Jul 22, 2005 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hab ich schon, aber mein prob bezieht sich auf die schüsse. Woher weiß ich welcher schuss wenn getroffen hat?
(\_/)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

Alfadur

BeitragFr, Jul 22, 2005 13:44
Antworten mit Zitat
Benutzer-Profile anzeigen
wie du es auch bei 2d machst, jede entity mit jeder schussentity überprüfen ...

for each schuss
for each männchen
...
A Cray is the only computer that runs an endless loop in less than four hours.

Sir Dan

BeitragFr, Jul 22, 2005 13:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich mein was anderes. Am besten zeig ich mal den Code
BlitzBasic: [AUSKLAPPEN]
Function update_feuern()
For b.fire = Each fire
MoveEntity b\sprite,0,0,-b\speed
If MilliSecs() - b\time > 5000 FreeEntity b\sprite : Delete b
For f.airplane = Each airplane
If EntityCollided (f\mesh,2) f\hp = f\hp - b\damage:FreeEntity b\sprite : Delete b; Hier liegt das Problem
If f\hp < 0 FreeEntity f\mesh:Delete f
Next
Next
End Function
(\_/)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

simi

BeitragFr, Jul 22, 2005 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ENTITYCOLLIDE hat Folgendes geschrieben:

Rückgabewert
Es wird die Identität eines kollidierten Objekts zurückgeliefert. Wird 0 zurückgeliefert, dann gab es keine Kollision.


Also musst du ihn deienm Fall überprüfen, ob EntityCollide b\sprite zurückgibt.....[/code]

Sir Dan

BeitragFr, Jul 22, 2005 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Und das war ja meine Frage, die ich ganz oben gestellt habe. Wie bekomme ich die Identität von b\sprite?
(\_/)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

Alfadur

BeitragFr, Jul 22, 2005 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
b\sprite ist die identität nach der du suchst ...
A Cray is the only computer that runs an endless loop in less than four hours.
 

timmeTheOnly

BeitragSo, Jan 29, 2006 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst überprüfen ob entitiycollide gleich b\sprite is

Wink [/syntax]

Sir Dan

BeitragSo, Jan 29, 2006 18:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, aber das prob hatte sich eigentlich schon seit einiger zeit erledigt
(\_/)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group