Главная страница
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.004 c
7-28401
Zmei
2003-10-03 21:16
2003.12.09
запрет


9-28378
Sword-Fish
2003-05-25 14:23
2003.12.09
Глюк с окном


1-28397
ami
2003-11-26 22:01
2003.12.09
динамическое зменение цвета формы


9-28379
iliann
2003-05-16 23:06
2003.12.09
игра hitman


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