I got bored, so i desided to do some FPS camera controls.
Hide Mouse
Make Matrix 1,100,100,10,10
Make Object Box 1,10,30,10
SetCamToFPS()
Do
ControlObjectUsingArrowKeys(1,0.5,0.5)
UpdateCamera(0,1)
Loop
Function SetCamToFPS()
Global CamDistance# As Float : CamDistance# = -80
Global CamDistanceLimit# As Float : CamDistanceLimit# = 150
Global CamAngleX# As Float : CamAngleX# = 0
Global CamAngleY# As Float : CamAngleY# = 30
Global CamAngleLimit# As Float : CamAngleLimit# = 100
EndFunction
Function UpdateCamera(Cam,Obj)
CamAngleX# = Clamp(CamAngleX#+MouseMoveX(),-CamAngleLimit#,CamAngleLimit#)
CamAngleY# = Clamp(CamAngleY#-MouseMoveY(),-CamAngleLimit#,CamAngleLimit#)
CamDistance# = Clamp(CamDistance#+(MouseMoveZ()/10),-CamDistanceLimit#,CamDistanceLimit#)
Position Camera Cam,Object Position X(Obj),Object Position Y(Obj),Object Position Z(Obj)
Rotate Camera Cam,Object Angle X(Obj)+CamAngleY#,Object Angle Y(Obj)+CamAngleX#,Object Angle Z(Obj)
Move Camera Cam,CamDistance#
Point Camera Cam,Object Position X(Obj),Object Position Y(Obj),Object Position Z(Obj)
EndFunction
Function ControlObjectUsingArrowKeys(Obj,MoveSpeed#,TurnSpeed#)
Move object Obj,(UpKey()-DownKey())*MoveSpeed#
If RightKey() = 1 then yRotate Object Obj,Object Angle y(Obj) + TurnSpeed#
If LeftKey() = 1 then yRotate Object Obj,Object Angle y(Obj) + -TurnSpeed#
EndFunction
Everyone Be Cool, You, Be Cool.