Kollision funktioniert ! Nur ohne Types

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

MisterG40

Betreff: Kollision funktioniert ! Nur ohne Types

BeitragDo, Jul 21, 2005 19:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Huhu,

vielleicht kann mit jemand sagen wieso die Kollision zwischen Terrain & den gesetzten Types ( Sprites ) die vom Himmel fallen nicht funktioniert !


BlitzBasic: [AUSKLAPPEN]
Graphics3D 800,600,0,1
SetBuffer BackBuffer ()
Global cam=CreateCamera()
PositionEntity cam,300,50,300
CameraRange cam,1,1000000

AmbientLight 255,255,255

terrain=LoadTerrain(\"height.bmp\")
ScaleEntity terrain,5,100,5
PositionEntity terrain,0,5,0
tex=LoadTexture(\"tex1.bmp\")
ScaleTexture tex,3,3
EntityTexture terrain,tex
TerrainShading terrain,1
EntityType terrain,3

Const v% =-1
Type TEntity
Field entity%
Field x#
Field y#
Field z#
End Type

tree_sprite2=LoadSprite(\"xxx.png\",2)

For h = 1 To 1
CreateTEntity(tree_sprite2)
Next

Function CreateTEntity(entity%)
Local c#,d#
e.TEntity = New TEntity
e\entity = CopyEntity(entity)
HandleSprite e\entity,0,-1
ScaleSprite e\entity,8,16
c = Rnd(0,2000)
d = Rnd(0,2000)
e\x = c
e\y = 500
e\z = d
PositionEntity e\entity,e\x,e\y,e\z
SpriteViewMode e\entity,3
EntityAutoFade e\entity,10,65000
ScaleEntity e\entity,50,50,50
EntityType e\entity,11
End Function

Collisions 11,3,1,1

Repeat

For e.TEntity = Each TEntity
PositionEntity e\entity,e\x,e\y,e\z
e\y=e\y+v
Next

If KeyDown(17) Then MoveEntity cam,0,0,5
If KeyDown(31) Then MoveEntity cam,0,0,-1
If KeyDown(32) Then MoveEntity cam,1,0,0
If KeyDown(30) Then MoveEntity cam,-1,0,0

mxs= MouseXSpeed()
mys = MouseYSpeed()
dest_xang# = dest_xang + mys
dest_yang# = dest_yang - mxs
xang# = xang#+((dest_xang#-xang#)/5)
yang# = yang#+((dest_yang#-yang#)/5)

RotateEntity cam, xang#, yang#, 0

MoveMouse 1024/2,768/2


RenderWorld : UpdateWorld

Flip
Until KeyHit(1)
End
www.scaron.net

Gruß von MisterG40 !

Lord_Vader

BeitragDo, Jul 21, 2005 20:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Weis net obs daran liegt aber:
Code: [AUSKLAPPEN]

Global e.TEntity


am anfang
 

MisterG40

BeitragDo, Jul 21, 2005 20:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne das ist es nicht !

Aber danke !
www.scaron.net

Gruß von MisterG40 !

Xaron

BeitragFr, Jul 22, 2005 8:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich schätze, es liegt daran, dass Du eine Kugel-Kugel-Kollision benutzt:

Collisions 11,3,1,1

Nimm stattdessen besser eine Kugel-Polygon-Kollision, schließlich lässt sich ein Terrain ja schlecht durch eine Kugel darstellen. Wink

Collisions 11,3,2,1

Gruß - Xaron
Cerberus X - Monkey X Reloaded!
 

MisterG40

BeitragFr, Jul 22, 2005 11:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Nene das ist es auch nicht !

Hä ? woran liegt das ?
www.scaron.net

Gruß von MisterG40 !

Markus2

BeitragFr, Jul 22, 2005 12:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Beim Entity den Radius eingestellt ?
Pickmode benutzt ?

Xaron

BeitragFr, Jul 22, 2005 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Also:

1. Collisions 11,3,2,1 benutzen, sonst kann es nicht funktionieren
2. In Deiner For-Schleife, wo Du die Sprite-Position änderst, ein UpdateWorld einfügen.
3. Den Radius (EntityRadius) evtl. anpassen

Damit funktioniert es bei mir.

Gruß - Xaron
Cerberus X - Monkey X Reloaded!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group