Home

Add

Edit

Without Linenumbers

Code in Textfield

Download

  1. '##############################################################################################################################################
    
  2. Sub VEKB_Check()
    
  3. Dim TSpeed As VEOGL_Float = 0.1
    
  4. Dim TDeg2Rad As VEOGL_Float = PI / 180
    
  5. 
    
  6. If Multikey(FB.SC_ESCAPE) <> 0 Then G_App_Exit = 1
    
  7. 
    
  8. If Multikey(G_KB_Key_WalkForward) <> 0 Then
    
  9.     VEOGL_Cam_Pos.V_X += TSpeed * Cos((VEOGL_Cam_Dir.V_Y + 90) * TDeg2Rad)
    
  10.     VEOGL_Cam_Pos.V_Z += TSpeed * Sin((VEOGL_Cam_Dir.V_Y + 90) * TDeg2Rad)
    
  11. End If
    
  12. If Multikey(G_KB_Key_WalkBackward) <> 0 Then
    
  13.     VEOGL_Cam_Pos.V_X -= TSpeed * Cos((VEOGL_Cam_Dir.V_Y + 90) * TDeg2Rad)
    
  14.     VEOGL_Cam_Pos.V_Z -= TSpeed * Sin((VEOGL_Cam_Dir.V_Y + 90) * TDeg2Rad)
    
  15. End If
    
  16. 
    
  17. If Multikey(G_KB_Key_StrafeLeft) <> 0 Then
    
  18.     VEOGL_Cam_Pos.V_X += TSpeed * Cos((VEOGL_Cam_Dir.V_Y) * TDeg2Rad)
    
  19.     VEOGL_Cam_Pos.V_Z += TSpeed * Sin((VEOGL_Cam_Dir.V_Y) * TDeg2Rad)
    
  20. End If
    
  21. If Multikey(G_KB_Key_StrafeRight) <> 0 Then
    
  22.     VEOGL_Cam_Pos.V_X -= TSpeed * Cos((VEOGL_Cam_Dir.V_Y) * TDeg2Rad)
    
  23.     VEOGL_Cam_Pos.V_Z -= TSpeed * Sin((VEOGL_Cam_Dir.V_Y) * TDeg2Rad)
    
  24. End If
    
  25. 
    
  26. If Multikey(G_KB_Key_GoUp) <> 0 Then VEOGL_Cam_Pos.V_Y += -TSpeed
    
  27. If Multikey(G_KB_Key_GoDown) <> 0 Then VEOGL_Cam_Pos.V_Y += TSpeed
    
  28. 
    
  29. If Multikey(G_KB_Key_RotateLeft) <> 0 Then VEOGL_Cam_Dir.V_Y += -1
    
  30. If Multikey(G_KB_Key_RotateRight) <> 0 Then VEOGL_Cam_Dir.V_Y += 1
    
  31. 
    
  32. If Multikey(G_KB_Key_RotateUp) <> 0 Then VEOGL_Cam_Dir.V_X += -1
    
  33. If Multikey(G_KB_Key_RotateDown) <> 0 Then VEOGL_Cam_Dir.V_X += 1
    
  34. 
    
  35. 
    
  36. 
    
  37. If "a" = "b" Then
    
  38. Dim TTmpV As VEOGL_Vector_Type
    
  39. Dim TPosV As VEOGL_Vector_Type
    
  40. Dim TDirV As VEOGL_Vector_Type
    
  41. If Multikey(G_KB_Key_WalkForward)   <> 0 Then TPosV.V_Z += TSpeed
    
  42. If Multikey(G_KB_Key_WalkBackward)  <> 0 Then TPosV.V_Z -= TSpeed
    
  43. If Multikey(G_KB_Key_StrafeLeft)    <> 0 Then TPosV.V_X += TSpeed
    
  44. If Multikey(G_KB_Key_StrafeRight)   <> 0 Then TPosV.V_X -= TSpeed
    
  45. If Multikey(G_KB_Key_GoUp)          <> 0 Then TPosV.V_Y -= TSpeed
    
  46. If Multikey(G_KB_Key_GoDown)        <> 0 Then TPosV.V_Y += TSpeed
    
  47. If Multikey(G_KB_Key_RotateLeft)    <> 0 Then TDirV.V_Y -= 1
    
  48. If Multikey(G_KB_Key_RotateRight)   <> 0 Then TDirV.V_Y += 1
    
  49. If Multikey(G_KB_Key_RotateUp)      <> 0 Then TDirV.V_X -= 1
    
  50. If Multikey(G_KB_Key_RotateDown)    <> 0 Then TDirV.V_X += 1
    
  51. VEOGL_Cam_Dir.V_X += TDirV.V_X
    
  52. VEOGL_Cam_Dir.V_Y += TDirV.V_Y
    
  53. VEOGL_Cam_Dir.V_Z += TDirV.V_Z
    
  54. If VEOGL_Cam_Dir.V_X < 0 Then VEOGL_Cam_Dir.V_X = 359
    
  55. If VEOGL_Cam_Dir.V_Y < 0 Then VEOGL_Cam_Dir.V_Y = 359
    
  56. If VEOGL_Cam_Dir.V_Z < 0 Then VEOGL_Cam_Dir.V_Z = 359
    
  57. If VEOGL_Cam_Dir.V_X > 359 Then VEOGL_Cam_Dir.V_X = 0
    
  58. If VEOGL_Cam_Dir.V_Y > 359 Then VEOGL_Cam_Dir.V_Y = 0
    
  59. If VEOGL_Cam_Dir.V_Z > 359 Then VEOGL_Cam_Dir.V_Z = 0
    
  60. 
    
  61. VEOGL_Cam_Pos.V_X += TPosV.V_X * Sin((VEOGL_Cam_Dir.V_X + 90) * (PI / 180)) * Cos((VEOGL_Cam_Dir.V_Y + 90) * (PI / 180))
    
  62. VEOGL_Cam_Pos.V_Y += TPosV.V_Y * Sin((VEOGL_Cam_Dir.V_X + 90) * (PI / 180)) * Sin((VEOGL_Cam_Dir.V_Y + 90) * (PI / 180))
    
  63. VEOGL_Cam_Pos.V_Z += TPosV.V_Z * Cos((VEOGL_Cam_Dir.V_X + 90) * (PI / 180))
    
  64. End If
    
  65. End Sub