;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
|