kollisionen gehen sich aus dem weg?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

beo6

Betreff: kollisionen gehen sich aus dem weg?

BeitragFr, Jul 23, 2004 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo. Ich habe schon sehr viel gelernt, was mit blitzbasic zu tun hat.

nun habe ich jedoch ein problem.

Ich versuche eine kollision zu überprüfen. Dafür nehme ich folgende codes.

Code: [AUSKLAPPEN]

Global schusscol = 1
Global shotercol = 2
Global shotercol2 = 3
Global schusscol2 = 6

EntityType shoter,shotercol
EntityType shoter2,shotercol2
EntityType schuss,schusscol
EntityType schuss2,schusscol2

Collisions schusscol,shotercol2,1,2
Collisions schusscol2,shotercol,1,2



und versuche es folgendermassen zu überprüfen.

Code: [AUSKLAPPEN]

If EntityCollided(schuss,shoter2) Then
i=100
treffer1=treffer1+1
EndIf

If EntityCollided(schuss2,shoter) Then
i2=100
treffer2=treffer2+1
EndIf


Jedoch werden die treffer nicht gezählt, sondern die kugeln rutschen am ziel vorbei. die kollision geht sich also aus dem weg.
Habe schon vieles versucht, und in den meisten samples und codes usw. wird die kollision eben nur mit diesem wegrutschen benutzt, jedoch habe ich nichts gefunden, wo die kollision einfach nur gezählt werden soll.

Für jegliche hilfe schonmal vielen herzlichen Dank!

Bigmichi

BeitragFr, Jul 23, 2004 22:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Collisions schusscol,shotercol2,1,2
Collisions schusscol2,shotercol,1,2

einmal reicht voll aus =)

das webrutschen ist schon ok kannst aber auch so machen das der schuss dan stehen bleibt wenn er kollidiert das der treffer nicht gezählt wird liegt nicht an der Kol sondern an deiner Abfrage =)

du musst es anders machen Very Happy

also erst abfragen mit wievielen Elementen er kollidiert ist mit countcollision(entity)

glaubich bin ent sicher
udn dan wenn mehr als 1 dan einfach COLLISIONENTITY(entity,1)

und wenn dan bei der abfrage was rauskommt hast du das getroffene entity =) so würde ich es machen aber ich bin ja nur ein kleiner michi Very Happy

stfighter01

BeitragFr, Jul 23, 2004 22:45
Antworten mit Zitat
Benutzer-Profile anzeigen
es gibt unter BB auch keine möglichkeit kollisionen zu erkennen und zugleich keine reaktion auf das objekt zu bewirken. entweder stopt dein objekt oder es slidet eben daran vorbei.

du kannst aber eines machen.
du merkst dir position und geschwindigkeit vor jedem verschieben der objekte.
im falle einer kollision machst du ein hideentity(getroffenes objekt)
und bewegst deinen schuss nochmal von der vorherigen position auf deine neue.

danach nochmal showentity( getroffenes objekt)

wenn die objekte sich erst einmal überschnitten haben wird keine neuerliche kollisionsmeldung mehr rausgegeben und sie können sich auch nicht mehr gegenseitig in der bewegung behindern.



mfg stfighter
Denken hilft!
 

beo6

BeitragFr, Jul 23, 2004 23:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Bigmichi hat Folgendes geschrieben:
Collisions schusscol,shotercol2,1,2
Collisions schusscol2,shotercol,1,2

einmal reicht voll aus =)


Es ist jeweils nur einmal. Wink es sind 2 verschiedene collisionen. Wink

Und vielen dank für die Hilfe. Hat super geklappt. Das mit dem daran vorbei rutschen, war auch nicht so schlimm, da ich sowieso die objekte wieder zurücksetze. Ich dachte eben nur, das es daran liegt, das die objekte daran vorbeirutschen, da so nunmal nicht umbedingt eine kollision zustande kommt.
 

2paul

BeitragDi, Aug 03, 2004 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab das hinbekommen...

ich guck zuhause mal nach und lad den code hoch

oki
 

2paul

BeitragSa, Aug 07, 2004 8:58
Antworten mit Zitat
Benutzer-Profile anzeigen
For a=1 To CountCollisions(schuss)

For cl.S_client = Each S_client
If cl\pivot_handle = CollisionEntity(schuss,a)
cl\schaden = cl\schaden + schuss_schaden

EndIf
Next
Next


ok, das sollte funktionieren,
hab da noch nen bischen rumgekürzt,
da bei mir da noch nen bischen mehr passiert

client is in diesem fall der spieler...
und pivot_handle sind seine füsse
 

beo6

BeitragSa, Aug 07, 2004 15:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja vielen dank. Aber das Problem besteht ja nicht mehr. Ich habe schon einen weg gefunden, wie es funktioniert.

Trozdem noch einmal vielen dank für deinen Lösungsvorschlag.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group