[Tier 1] 3d sliding collision by Cliff Mellangard 3DEGS23rd Feb 2013 8:18
|
---|
Summary GFT# is getframetime() The simple put in your own turn and movements speed in floats. Description Made for my 3d dungeon game. Code ` This code was downloaded from The Game Creators ` It is reproduced here with full permission ` http://www.thegamecreators.com rem Old position oldx#=GetCameraX(1) oldy#=GetCameraY(1) oldz#=GetCameraZ(1) rem Move camera if GetRawKeyState(38)=1 or getvirtualjoysticky(1)<0.0-0.5 then MoveCameraLocalZ(1,moveSpeed#*GFT#) if GetRawKeyState(40)=1 or getvirtualjoysticky(1)>0.0+0.5 then MoveCameraLocalZ(1,-moveSpeed#*GFT#) if GetRawKeyState(37)=1 or getvirtualjoystickx(1)<0.0-0.5 then RotateCameraLocalY(1,-turnSpeed#*GFT#) if GetRawKeyState(39)=1 or getvirtualjoystickx(1)>0.0+0.5 then RotateCameraLocalY(1,turnSpeed#*GFT#) rem New position newx#=GetCameraX(1) newy#=GetCameraY(1)-17.0 newz#=GetCameraZ(1) if ObjectSphereSlide(0,oldx#,oldy#,oldz#,newx#,newy#,newz#,16.0)>0 XPos#=GetObjectRayCastSlideX(0) YPos#=GetObjectRayCastSlideY(0)+15.9 ZPos#=GetObjectRayCastSlideZ(0) Gravity#=0.0 else XPos#=GetCameraX(1) YPos#=GetCameraY(1) ZPos#=GetCameraZ(1) Gravity#=40.0*GFT# endif SetCameraPosition(1,XPos#,YPos#-Gravity#,ZPos#) |