Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.001 c
9-28381
pavel_k
2003-05-20 21:19
2003.12.09
Алгоритм поиска пути


9-28375
Vermut
2003-05-18 19:13
2003.12.09
как в GLScene делать


1-28396
Ничего не знающий
2003-11-30 01:14
2003.12.09
Frame


11-28395
Ice777
2003-03-24 15:58
2003.12.09
Использование VCL компонетов в KOL


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




   Наверх