| Leadwerks Engine 2.3 
 Урок второй  Итак, мы хотим полетать и рассмотреть нашу сцену. Нам нужно спрятать мышку, чтобы было как в шутерах(это добавляем после загрузки сцены):     Думаю тут пояснений не надо. Далее мы создадим переменную для обзора мышкой чтобы она хранила три координаты:    Code camrotation = Vec3(0) Ноль означает что значения пока нет. Теперь перейдем к самому главному, но и сложному. (Это нужно писать внутри цикла)Зададим две переменные для мышки и камеры:    Code gx=Curve(MouseX() - GraphicsWidth() /2, gx, 10) gy=Curve(MouseY() - GraphicsHeight() /2, gy, 10)
 Это трудно понять, но если немного подумать... Теперь зададим координаты той самой переменной, которую мы создали(Это, и все остальное мы будем писать внутри цикла):    Code camrotation.x = camrotation.x + gy / 10 camrotation.y = camrotation.y - gx / 10
 Тут уже все понятно. На самом деле можно сделать управление камерой с меньшим количеством кода, но тогда камера будет вертеться очень плохо. Теперь делаем так чтобы камера смотрела туда, где мышка:    Code camera:SetRotation(camrotation,1) Управление камерой мышкой почти готово, осталось только сделать так, чтобы мышка была всегда в центре экрана:    Code MoveMouse(GraphicsWidth()/2,GraphicsHeight()/2) И делаем движение:    Code move = KeyDown(KEY_D) - KeyDown(KEY_A), move, 10 strafe = KeyDown(KEY_W) - KeyDown(KEY_S), strafe, 10
 camera:Move(Vec3(move/10, 0, strafe/10))
 Тут тоже, кто хоть чуть чуть знает любой ЯП, поймет этот код. Теперь компилируем и радуемся. Кто скажет что камера не совсем хороша -> в английском видео туториале на офф. сайте, камера была просто бешеная!
 |