на первый вопрос:
; устанавливаем графический режим
graphics3d 800,600,32,2
; выставляем задний буфер для записи
setbuffer BackBuffer()
; создаем камеру и позиционируем ее так, чтоб нам было видно шарик
camera=createcamera()
positionentity camera,0,0,-50
; создаем свет
rotateentity CreateLight(),0,20,45
; создаем шарик, чтоб нам было видно куда камера движется
createsphere()
; перемещаем курсор мыши в центр экрана (ВАЖНО) если без этой функции,
; то камера сначала делает рывок и мы можем не увидеть наш шарик
movemouse GraphicsWidth()/2,GraphicsHeight()/2
; главный цикл
repeat
; заносим в переменные значения скорости движения мыши по Х Y и Z(колесико)
; скорость замеряется методом, на сколько шарик провернулся с тех пор
; как запрашивалась последняя скорость (по сравнению с предидущей итерацией)
spy=MouseYSpeed()
spx=MousexSpeed()
spz=MousezSpeed()
; перемещаем камеру на значения скоростей мыши (множители тут для наглядности)
moveentity camera,-spx*0.2,spy*0.2,spz*2
; перемещаем курсор мыши в середину экрана, если мы этого делать не будем,
; то камера будет двигаться пока курсор мыши не упрется в границу экрана
; (если тебе нужна мышь в игре, то придумай специальную функцию, чтоб
; мышью по экрану можно было водить, но чтоб она не достигала краев экрана)
movemouse GraphicsWidth()/2,GraphicsHeight()/2
; прорисовываем мир и меняем буфера
renderworld
flip
; закрываем цикл (зацикливаем цикл;) )
until KeyHit(1)
; конец программы
end