Здравстуйте. Итак возник вопрос с поведением камеры.
Суть такова. Режим 3Д, вид сбоку. Нужно что бы камера вела себя следующим образом: просто двигалась за курсором на небольшое расстояние по Х и Y. Вродь всё просто, но что-то у меня мозг не соображает толком.
Сделал так:

;создание камеры
Player\Entity = CreatePivot()
Player\CamPivot = CreatePivot(Player\Entity)
PositionEntity Player\CamPivot,0,50,0
Camera = CreateCamera(Player\CamPivot)
PositionEntity Camera,0,0,-200
TurnEntity Camera,10,0,0
;обновление камеры
If ( MouseY() > 400 ) And ( EntityY(Camera) > -100 ) Then
If EntityY(Camera) > -(MouseY() - 400) Then
MoveEntity Camera,0,-CamSpeed,0
End If
End If
If ( MouseY() < 200 ) And ( EntityY(Camera) < 100 ) Then
If EntityY(Camera) < -(MouseY() - 200) Then
MoveEntity Camera,0,CamSpeed,0
End If
End If
If EntityY(Camera) < 0 Then
If EntityY(Camera) < -(MouseY() - 400) Then
MoveEntity Camera,0,CamSpeed,0
End If
End If
If EntityY(Camera) > 0
If EntityY(Camera) > -(MouseY() - 200) Then
MoveEntity Camera,0,-CamSpeed,0
End If
End If
If ( MouseX() > 600 ) And ( EntityX(Camera) < 100 ) Then
If EntityX(Camera) < (MouseX() - 600) Then
MoveEntity Camera,CamSpeed ,0,0
End If
End If
If ( MouseX() < 200 ) And ( EntityX(Camera) > -100 ) Then
If EntityX(Camera) > (MouseX() - 200) Then
MoveEntity Camera,-CamSpeed ,0,0
End If
End If
If EntityX(Camera) > 0 Then
If EntityX(Camera) > (MouseX() - 600) Then
MoveEntity Camera,-CamSpeed ,0,0
End If
End If
If EntityX(Camera) < 0
If EntityX(Camera) < (MouseX() - 200) Then
MoveEntity Camera,CamSpeed ,0,0
End If
End If
Но работает это не совсем корректно. Тоесть камера перемещается не настолько плавно как хотелось бы...
Подскажите способ реализации такой камеры...