Понедельник, 18 Ноября 2024, 14:48

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как сделать игру от третьего лица на Blitz3D?
simtikoДата: Воскресенье, 17 Января 2010, 16:17 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
Решил попробовать сделать что то подобии третьего лица, но ничего не получилось cry

Code
Graphics3D 800,600
cam=CreateCamera();
igrok=CreateCube();
tex=LoadTexture("a.bmp");
EntityTexture igrok,tex;
PositionEntity  igrok,0,0,5;
PositionEntity  cam,0,0,0;
Global groundtex=LoadTexture("b.jpg")
Ground=CreatePlane()
PositionEntity Ground,0,-1,0   
EntityTexture Ground,groundtex   
Repeat
If KeyDown(200)
MoveEntity cam,0,0,0.1
MoveEntity igrok,0,0,0.1
EndIf
If KeyDown(208)
MoveEntity cam,0,0,-0.1
MoveEntity igrok,0,0,-0.1
EndIf
If KeyDown(203)
TurnEntity cam,0,4,0
;А вот тут не понятно что писать
EndIf
If KeyDown(205)
TurnEntity cam,0,-4,0
;И вот здесь тоже
EndIf
RenderWorld ;
Flip;
Until i=1;   
End

Наверное нужно сделать так, что бы кубик вращался вокруг оси камеры, но я не знаю как это сделать.

Добавлено (17.01.2010, 16:17)
---------------------------------------------
Решил эту проблему, но появилась и другая.Как сделать что бы камера не влезала в куб?

Code
Graphics3D 800,600   
cam=CreateCamera();   
igrok=CreateCube();   
tex=LoadTexture("a.bmp");   
EntityTexture igrok,tex;   
PositionEntity  igrok,0,0,10;   
PositionEntity  cam,0,0,0;   
Global groundtex=LoadTexture("b.jpg")   
Ground=CreatePlane()   
PositionEntity Ground,0,-1,0     
EntityTexture Ground,groundtex    

Repeat   
If KeyDown(200)   
MoveEntity igrok,0,0,0.1  
MoveEntity cam,0,0,0.1  
PointEntity cam,igrok ;
EndIf   
If KeyDown(208)   
MoveEntity igrok,0,0,-0.1  
MoveEntity cam,0,0,-0.1   
PointEntity cam,igrok ;
EndIf   
If KeyDown(203)   
TurnEntity igrok,0,-1,0    
PointEntity cam,igrok ;
EndIf   
If KeyDown(205)   
TurnEntity igrok,0,1,0    
PointEntity cam,igrok ;
EndIf   
RenderWorld ;   
Flip;   
Until i=1;     
End


Сообщение отредактировал simtiko - Воскресенье, 17 Января 2010, 12:44
SharomДата: Понедельник, 18 Января 2010, 15:28 | Сообщение # 2
участник
Сейчас нет на сайте
Немного разобрал код, обьясни когда камера влезает? При нажатии вперед?

Добавлено (18.01.2010, 07:54)
---------------------------------------------
И что происходит при нажатии вперед приближение?

Добавлено (18.01.2010, 15:28)
---------------------------------------------
Если есть пример в ехе то Скинь а то я че то не доганяю(желательно до 3 метров)

simtikoДата: Понедельник, 18 Января 2010, 15:52 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
Sharom, Уже решил проблему.
Code
Graphics3D 800,600   
cam=CreateCamera();   
igrok=CreateCube();   
tex=LoadTexture("a.bmp");   
EntityTexture igrok,tex;   
PositionEntity  igrok,0,0,10;   
PositionEntity  cam,0,0,0;   
Global groundtex=LoadTexture("b.jpg")   
Ground=CreatePlane()   
PositionEntity Ground,0,-1,0     
EntityTexture Ground,groundtex    
c=0;
Repeat   
If KeyDown(200)   
MoveEntity igrok,0,0,0.1  
If c=0 Then MoveEntity cam,0,0,0.1  
PointEntity cam,igrok ;
EndIf   
If KeyDown(208)   
MoveEntity igrok,0,0,-0.1  
If c=0 Then MoveEntity cam,0,0,-0.1  
PointEntity cam,igrok ;
EndIf   
If KeyDown(203)   
TurnEntity igrok,0,1,0    
PointEntity cam,igrok ;
EndIf   
If KeyDown(205)   
TurnEntity igrok,0,-1,0    
PointEntity cam,igrok ;
EndIf   
a=EntityDistance#(cam,igrok)
If a<7 Then c=1 Else c=0;
RenderWorld ;   
Flip;   
Until i=1;     
End

Но если есть другие идеи как это реализовать, то милости просим!

Quote (Sharom)
Если есть пример в ехе то Скинь а то я че то не доганяю(желательно до 3 метров)

1.exe

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг