problem mit kollisionsabfrage

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Om3n

Betreff: problem mit kollisionsabfrage

BeitragMo, Nov 20, 2006 2:49
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

ich habe da ein problem mit der kollisionsabfrage, welches ich nicht ganz verstehe.

ich habe 2 auto-meshes und 2 entityboxen drüber. 'car' kann man jetzt
bewegen und trozdem durch 'rallycar' durchfahren!

EntityBox rallycar2,EntityX(rallycar2),EntityY(rallycar2),EntityZ(rallycar2),MeshWidth(rallycar2),MeshHeight(rallycar2),MeshDepth(rallycar2)

EntityBox car,EntityX(car),EntityY(car),EntityZ(car),MeshWidth(car),MeshHeight(car),MeshDepth(car)


die anderen werte sind:

Collisions car,rallycar,1,1



eigentlich währe doch logisch das sich nun entitybox 'car' nicht mit entitybox
'rallycar' überschneiden kann, oder?
 

Ava

Gast

BeitragMo, Nov 20, 2006 6:43
Antworten mit Zitat
Hast Du auch den EntityType auf Box eingestellt und ein Updateworld in der Hauptschleife?
 

Om3n

BeitragMo, Nov 20, 2006 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Ava hat Folgendes geschrieben:
Hast Du auch den EntityType auf Box eingestellt


wenn du damit meinst die abfrage mit dem befehl collisions auf mode 3, dann ja Wink

aber ich glaube du meinst was anderes, kannst du mir das bitte erklären?

Ava hat Folgendes geschrieben:
und ein Updateworld in der Hauptschleife?


jop, es lässt sich ja auch das auto 'moven'.


ps.: danke für die antwort!

skey-z

BeitragMo, Nov 20, 2006 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst den Objekten jeweils auch nen Kollisionstyp <> 0 zuweisen, was du gemacht hast, ist nur die Objektvariable an das Kollisionssystem zu übergeben.

Code: [AUSKLAPPEN]


car = loadmesh("")
entitytype car, 1


cube = createcube()
entitytype cube, 2

collisions 1, 2, 1, 1; je nach Kollisionsart


schau dir am besten in der OH mal die Kollisionsbefehle an
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Om3n

BeitragMo, Nov 20, 2006 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
@sky-z:

jo, so hab ichs ja auch gemacht, der code oben war nur als anschauungsbeispiel.

typennummern wurden natürlich vergeben - trozdem nix ;-(
 

Om3n

BeitragMo, Nov 20, 2006 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
ah, ok habs jetzt verstanden!

hab zu schnell über die englische hilfe zu collisions drübergelesen.

danke euch beiden!

ok, wieso gibts hier keine collision?

Zitat:

AppTitle ("Om3n's erster kleiner 3D/Collision-Test")

Graphics3D 800,600

SetBuffer BackBuffer()

camera=CreateCamera()
CameraViewport camera,0,0,800,600
PositionEntity camera,0,100,0

light=CreateLight()
texture=LoadTexture("made.jpg")

Const car_coll=1
Const rallycar2_coll=2

car=LoadMesh("rallycar1.3ds")
EntityType car,car_coll
EntityTexture car,texture
PositionEntity car,0,0,200
RotateEntity car,0,180,0
EntityRadius car,100

rallycar2=LoadMesh("rallycar1.3ds")
EntityType rallycar2,rallycar2_coll
EntityTexture rallycar2,texture
PositionEntity rallycar2,0,0,1000
EntityBox rallycar2,EntityX(rallycar2),EntityY(rallycar2),EntityZ(rallycar2),MeshWidth(rallycar2),MeshHeight(rallycar2),MeshDepth(rallycar2)

Collisions car_coll,rallycar2_coll,3,1

Global collidide=0

While Not KeyHit(1)

If KeyDown(200) Then
MoveEntity car,0,0,-5
PositionEntity camera,EntityX(car),100,EntityZ(car)-200
EndIf

If KeyDown(208) Then
MoveEntity car,0,0,+5
PositionEntity camera,EntityX(car),100,EntityZ(car)-200
EndIf

If KeyDown(203) Then
MoveEntity car,5,0,0
PositionEntity camera,EntityX(car),100,EntityZ(car)-200
EndIf

If KeyDown(205) Then
MoveEntity car,-5,0,0
PositionEntity camera,EntityX(car),100,EntityZ(car)-200
EndIf

UpdateWorld
RenderWorld

If EntityCollided(car,2) Then
Color 255,0,0
Text 375,300,"CRASH!"
End If

Color 255,255,255
Text 500,550,"ESC=Quit, Left/Right/Up/Down=Drive"
Text 500,570,"by Om3n Wink"

Flip

Wend

End

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group