Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.09;
Скачать: CL | DM;

Вниз

как в GLScene делать   Найти похожие ветки 

 
Vermut   (2003-05-18 19:13) [0]

как заставить свой объект двигатся от клавы например танк или машину
Хотябы как нибудь простенько?
А и еще как сделать мультиплееровскую игру
какой компонент
и как


 
architector ©   (2003-05-18 23:59) [1]

Сначала кинь на форму компоненты GLCadencer, GLNavigator и GLUserInterface. В инспекторе обьектов GLUserInterface поставь MouseSpeed 20, GLNavigator выбери тот, который создал. Теперь у GLNavigator"а поменяй UseVirtualUp на false и MovingObject на нужную камеру (или обьект).


uses Keyboard;
...
begin
//Лучше всего писать на событие Progress у Cadencer"а
procedure TForm1.CadencerProgress(Sender: TObject; const deltaTime, newTime: Double);
begin
GLViewer.Invalidate;
GLUserInterface1.MouseLook;
GLUserInterface1.MouseUpdate;
GLUserInterface1.MouseLookActive := true;

if IsKeyDown("w") or IsKeyDown("ц") then GLNavigator1.MoveForward(0.5);

if IsKeyDown("s") or IsKeyDown("ы") then GLNavigator1.MoveForward(-0.5);

if IsKeyDown("a") or IsKeyDown("ф") then GLNavigator1.StrafeHorizontal(-0.5);

if IsKeyDown("d") or IsKeyDown("в") then GLNavigator1.StrafeHorizontal(0.5);

end;
...
end.


А вот мультиплеер можно сделать с помощью DirectPlay (есть в комплекте с DelphiX).


 
SI-riuss ©   (2003-05-28 02:53) [2]

Все примерно так, только скорость перемещения объекта будет зависеть от кадров в секунду, что нехорошо для компов разной мощности.
Необходимо учитывать deltaTime, а именно добавить:

procedure TForm1.GLCadencer1Progress(Sender: TObject; const deltaTime,newTime: Double);
var
speed : Single;
begin
if IsKeyDown(VK_UP) then
DummyCube1.Translate(Z*speed, 0, -X*speed);
end;

Между прочим это есть в демке \GLDemos\MESHES\TERRAIN



Страницы: 1 вся ветка

Текущий архив: 2003.12.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
11-28393
chum
2003-03-26 11:32
2003.12.09
Файл ExptIntf.dcu


9-28387
asmai
2003-05-23 12:33
2003.12.09
простой пример openGL?


9-28388
Juster~
2003-05-08 18:02
2003.12.09
2NailMan


11-28394
Ал
2003-03-25 10:46
2003.12.09
Как без перезагрузки изменить картинки у только что зарег. файлов


7-28401
Zmei
2003-10-03 21:16
2003.12.09
запрет