EntityRadius Problem
Übersicht

ScopeBetreff: EntityRadius Problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
HI, es geht um das Grundgerüst eines Egoshooters. Ich möchte eine Spielfigur in egoperspektive erstellen, die Springen, sich ducken und an hindernissen hängen bleiben soll.
Dazu habe ich einen Pivot (im Code "pc" genannt) erstellt, welcher mit entityradius einen kollisions radius besitzt. die derzeitige Welt besteht aus einer plane (boden) und einem mit Milkshape erstellten "testterrain", sprich ein paar blöcken. wasd ist laufen, leertaste springen. mein Problem. wenn ich auf dem Boden Lauf, ist die y Koordinate des PlayerPivots (PC) = des ersten Parameters von entityradius. sobald ich jedoch auf eine Fläche aus Milkshape lauf. hüpft die Höhe auf die des zweiten parameters. ich bin vollkommen verwirrt, da ich mir auf die Funktionsweise des Befehls keinen reim machen kann. Probiert es selber aus, ich hänge die datei mit der "welt" an und hier ist der Code. lauft (bzw hüpft) mal auf die graue Fläche, welche so ziemlich die selbe höhe hat wie der boden. Code: [AUSKLAPPEN] Global fps,fps_show,frame,frame1,lt#,ltzeit#,time,time1,fbeg ;Framelimiter Global x#,y#,speedx#,speedz# ;Laufen Global jactive,springen ;Springen Global fall# ;Gravitation Const FPS_MAX=85 Const SENS#=6 Const GRAVITY#=8 jspeed=30 ltzeit=MilliSecs() Graphics3D 1024,768,32,1 SetBuffer BackBuffer() fbeg=MilliSecs() ;--Camera Global cam=CreateCamera() CameraFogMode cam,1 CameraFogRange cam,100,200000 CameraRange cam,1,600000 CameraClsColor cam,0,0,0 CameraFogColor cam,211,219,236 ;--Stadt world=LoadMesh("test.b3d") ScaleEntity world,60,60,60 ;--Boden Boden=CreatePlane() Bodentex=LoadTexture ("schwamm.bmp",1) EntityTexture boden,bodentex ScaleTexture bodentex,120,120 EntityFX boden,5 ;--Sonne Global sun=CreateLight(2) MoveEntity sun,100000,100000,-140000 LightColor sun,255,200,100 LightRange sun,200000 PointEntity sun,boden ;--Himmel ;sky=loadskybox(cam) ;EntityParent sky,0 ;MoveEntity sky,4000,2450,4000 ;--Player pivcam = CreatePivot() pc=CreatePivot() PositionEntity pc,2500,1000,2500 ;--Gravitation EntityRadius pc,50,300 EntityType boden,1 EntityType world,1 EntityType pc,2 Collisions 2,1,2,3 ;--------------------- ;----HAUPTSCHLEIFE---- While Not KeyHit(1) ;--framelimiter lt=(MilliSecs()-ltzeit)/1000 lt=lt*120 ltzeit=MilliSecs() ;--Piv-Positionierung PositionEntity pivcam,EntityX(pc),EntityY(pc)+150,EntityZ(pc) PositionEntity cam,EntityX(pivcam),EntityY(pivcam),EntityZ(pivcam) ;--Maussicht pitch = EntityPitch(cam) yaw = EntityYaw(pivcam) pitch = pitch + MouseYSpeed()*(sens/30) yaw = yaw - MouseXSpeed()*(sens/30) If pitch < -80 Then pitch = -80 If pitch > 80 Then pitch = 80 RotateEntity pivcam,0,yaw,0 RotateEntity pc,0,yaw,0 RotateEntity cam, pitch, yaw,0 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 ;--Zeux ;--Springen If EntityCollided(pc,1) Then If KeyHit(57) And jactive=False Then springen=True End If If springen=True And jactive=False Then jactive=True:fall=35 If jactive=True And fall<>35 Then If EntityCollided(pc,1) Then jactive=False:springen=False End If ;--Laufen speedz=0 speedx=0 If KeyDown(17) Then speedz=15*lt If KeyDown(30) Then speedx=-15*lt If KeyDown(31) Then speedz=-15*lt If KeyDown(32) Then speedx=15*lt MoveEntity pc,speedx,0,speedz ;--Fallen If fall<=-400 Then fall=-400 If Not EntityCollided(pc,1) Then fall=fall-(gravity/6) If EntityCollided(pc,1) And jactive=False Then fall=0 MoveEntity pc,0,fall,0 ;--Rendern FPS_anzeige() UpdateWorld RenderWorld Text 10,10, fps_show Flip Wend ;--------------------- ;--------------------- ;----FUNKTIONEN---- ;Include "skybox.bb" Function FPS_anzeige() frame=frame+1 frame1=frame1+1 If MilliSecs()-time>10 Then time=MilliSecs():FPS=frame*10:frame=0 If MilliSecs()-time1>1000 Then time1=MilliSecs():FPS_show=frame1:frame1=0 Delay ((1000/FPS_MAX)-(fbeg-MilliSecs())) fbeg=MilliSecs() End Function wenn ihr mit den parametern von entityradius rumspielt seht ihr, was ich mein. http://web12.kmsys.de/test.rar enthält -Code als bb Datei -die "Welt" als b3d datei -die bodentextur als bmp datei |
||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
hat entityradius nicht nur zwei parameter? | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
Scope |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
insgesamt 3, aber 2 für die streckung. sprich eine für x radius eine für y raduis und halt noch eine, welches entity man meint | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group