Очень неприятно, когда перс может крутить башкой на все 360 градусов по вертикали.
Камера привязана к телу. ( camera = bbCreateCamera( entity ))
Вот так обычно выглядит код, отвечающий за обзор
mxs# = MouseXSpeed() * mouse_sens ;mouse_sens - чувствительность мыши
mys# = MouseYSpeed() * mouse_sens
TurnEntity entity, 0, -mxs, 0
TurnEntity camera, mys, 0, 0
Этот код не ограничивает угол поворота камеры по вертикали.
А этот ограничивает - и очень неплохо!
mxs# = MouseXSpeed() * mouse_sens ;mouse_sens - чувствительность мыши
mys# = MouseYSpeed() * mouse_sens
if( EntityPitch( camera, 1 ) + mys > max_pitch ) ;max_pitch - максимальный угол наклона камеры, например 89 градусов
mys = 0
end if
if( EntityPitch( camera, 1 ) + mys < -max_pitch )
mys = 0
end if
TurnEntity entity, 0, -mxs, 0
TurnEntity camera, mys, 0, 0
Все! Теперь никаких бешеных телодвижений! Этот код не подвержен "проскакиваниям" - присущим некоторым другим реализациям