Тема: 3D мир
Показать сообщение отдельно
Старый 07.10.2007, 15:46   #6
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Re: 3D мир

А черт. ). Чет не заметил ошибки)

Чуть - чуть подправил шаблон H@NON'а .


[blitz]
Graphics3D 800, 600, 32, 1 ; установка 3д режима
SetBuffer BackBuffer() ; устанавливаем текущий буффер - задний буффер
SeedRnd MilliSecs() ; генератор случайных чисел


Global camera = CreateCamera() ; создание камеры - без нее, как без глаз
Global world = "Models\World.b3d" ; загружаем модель и присваиваем ее переменной - world
Global light = CreateLight ()
Global my# , mx#

While Not KeyHit(1) ; Начало главного цикла - условие работы: не нажатие на клавишу Esc, иначе выходим из цикла
control ()
mouselook ()
RenderWorld() ; отрисовывааем 3д объекты мира
Flip ; меняем буфферы местами - у нас с заднего на передний
Wend ; конец цикла - переход на начало цикла



Function control() ; Управление
If KeyDown(17) MoveEntity camera,0,0,.1
If KeyDown(31) MoveEntity camera,0,0,-.1
If KeyDown(30) MoveEntity camera,-.1,0,0
If KeyDown(32) MoveEntity camera,.1,0,0
End Function

Function mouselook() ; Обзор мышью
mx=MouseXSpeed()*0.10
my=MouseYSpeed()*0.10

MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
RotateEntity camera,EntityPitch(camera)+my,EntityYaw(camera)-mx,EntityRoll(camera)
End Function

End

[/blitz]
(Offline)
 
Ответить с цитированием