Главная страница
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.005 c
3-28390
ната
2003-11-20 11:15
2003.12.09
сессия


11-28392
alfromorel
2003-03-28 14:55
2003.12.09
Как перейти на следующие поле по Enter


9-28380
KIE
2003-05-22 13:26
2003.12.09
Граф движок, на чем лучше писать?


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


9-28386
Holocaust
2003-05-26 17:30
2003.12.09
DelphiX/RPG/Collision