Как сделать игру от третьего лица на Blitz3D?
| |
simtiko | Дата: Воскресенье, 17 Января 2010, 16:17 | Сообщение # 1 |
почти ветеран
Сейчас нет на сайте
| Решил попробовать сделать что то подобии третьего лица, но ничего не получилось 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
|
|
| |
|