| ;TWEEN
Const Jug_CPS = 60
Global Jug_Period = 1000 / Jug_CPS
Global Jug_Tiempo = MilliSecs() - Jug_Period
Global Jug_FT#
;/////
Global mXSp#,mYSp#
Global IKdQ%,IKdW%,IKdE%,IKdA%,IKdS%,IKdD%
Graphics3D 1024, 768, 32, 6
Global Cam = CreateCamera()
Global Cube = CreateCube()
PositionEntity Cube,0,0,7
CreateLight(1)
While Not KeyHit(1)
   
   CheckTween()
   RenderWorld (Jug_FT)
   
   Text 10,25,"FPS: "+ FPS()
   
   Flip false
Wend
Function CheckTween()
   Timer = MilliSecs()
   
   Repeat
      Elapsed = ( MilliSecs() - Jug_Tiempo ) 
   Until Elapsed
   Ticks = Elapsed / Jug_Period
   
   Jug_FT# = Float( Elapsed Mod Jug_Period ) / Float( Jug_Period )
      
   For K = 1 To Ticks
      Jug_Tiempo = ( Jug_Tiempo + Jug_Period )
      
      If K = Ticks Then 
         CaptureWorld
         Game_Logic()
      EndIf
      
   Next
   
End Function
Function Game_Logic()
   UpdateInput
   UpdateCamera Cam,.05,.1   
   TurnEntity Cube,0,1,0
   
End Function
Function UpdateInput()
   mXSp#=MouseXSpeed() mYSp#=MouseYSpeed()
   MoveMouse 400,300
   IKdQ=KeyDown(16) IKdW=KeyDown(17)
   IKdE=KeyDown(18) IKdA=KeyDown(30)
   IKdS=KeyDown(31) IKdD=KeyDown(32)
   
End Function
Function UpdateCamera(Camera%,ViewSensivity#,MoveSensivity#)
   Local CamP#=EntityPitch(Camera)+mYSp*ViewSensivity
   If Abs(CamP)>80 CamP=80*Sgn(CamP)
   TurnEntity Camera,0,-mXSp*ViewSensivity,0
   RotateEntity Camera,CamP,EntityYaw(Camera),0
   
   MoveEntity Camera,(IKdD-IKdA)*MoveSensivity,(IKdE-IKdQ)*MoveSensivity,(IKdW-IKdS)*MoveSensivity
   
End Function
Global FPSCount = 0
Global FPSCountTemp = 0
Global FPSTime = 0
Function FPS()
	If (MilliSecs()-FPSTime)>=1000 Then
		FPSTime = MilliSecs()
		FPSCount = FPSCountTemp
		FPSCountTemp = 0
	EndIf
	FPSCountTemp = FPSCountTemp + 1
	Return FPSCount
End Function
 Last edited 2010
 
 
 |