[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Вид от третьего лица.
UnodeyaДата: Пятница, 22 Мая 2009, 16:52 | Сообщение # 1
Молодой но талантливый
Группа: Участники
Сообщений: 64
Награды: 0
Замечания: 0%
Статус:
Мне нужно реализовать вид от третьего лица с переключением режимов. Чтобы камера была привязана к персонажу позади и двигалась вместе с ним включая повороты миши как по горизонтали так и вертикали. т.е посмотреть под ноги и немного выше головы. Взываю к вам опытные разработчики! Помогите пожалуйста! Заранее Огромное спасибо!



 
dfДата: Пятница, 22 Мая 2009, 17:57 | Сообщение # 2
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
Вот код.
Code

Graphics3D 800,600 , 32, 2

lid=CreatePlane ();создаем поверхность

  Model=CreateCube () ;это наш персонаш
   EntityColor Model,Int(Rnd(255)),Int(Rnd(255)),Int(Rnd(255))
  camera = CreateCamera (Model)
   CameraClsColor camera,0,0,90
   PositionEntity camera,0,5,-10   ;Растояние камеры от нешего персонажа
   CameraRange camera,0.1,5000  ;дальность виденья

  Model1=CreateCube ()     ;создаеи еше куб чтобы видеть движение.
   EntityColor Model1,20,50,60
PositionEntity Model1,10,0,1

u#=45;предельный угол обзора по Z
  V#=4;переменая ходьбы. Те ну нужно

While Not KeyDown( 1 )

TurnEntity camera,MouseYSpeed(),0,0
TurnEntity Model,0,-MouseXSpeed(),0

  If KeyDown(17)=1 Then MoveEntity Model,0,0,+1+ V#
  If KeyDown(31)=1 Then MoveEntity Model,0,0,-1- V#
  If KeyDown(30)=1 Then MoveEntity Model,-1- V#,0,0
  If KeyDown(32)=1 Then MoveEntity Model,+1+ V#,0,0
   
  MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
If Abs(EntityPitch#(camera))>u# RotateEntity camera,u#*Sgn(EntityPitch#(camera)),0,0

  UpdateWorld()
  RenderWorld()

Flip
Wend
;----------------------------
End



 
UnodeyaДата: Пятница, 22 Мая 2009, 19:35 | Сообщение # 3
Молодой но талантливый
Группа: Участники
Сообщений: 64
Награды: 0
Замечания: 0%
Статус:
СПАСИБО ОГРОМНОЕ!!!



 
UnodeyaДата: Пятница, 22 Мая 2009, 19:42 | Сообщение # 4
Молодой но талантливый
Группа: Участники
Сообщений: 64
Награды: 0
Замечания: 0%
Статус:
Единственный вопрос. Камера двигается вместе игроком? В право влево. Как сделать чтобы игрок смещался вправо влево только на клавиатуре. А движения вправо влево вертели камеру вокруг игрока! Заранее спасибо! Ещё раз!)



 
dfДата: Суббота, 23 Мая 2009, 19:39 | Сообщение # 5
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
Quote
Камера двигается вместе игроком?

Да.

Quote
Как сделать чтобы игрок смещался вправо влево только на клавиатуре. А движения вправо влево вертели камеру вокруг игрока!

замени

Code

  If KeyDown(17)=1 Then MoveEntity Model,0,0,+1+ V#  
   If KeyDown(31)=1 Then MoveEntity Model,0,0,-1- V#  
   If KeyDown(30)=1 Then MoveEntity Model,-1- V#,0,0  
   If KeyDown(32)=1 Then MoveEntity Model,+1+ V#,0,0

на

Code

  If KeyDown(17)=1 Then MoveEntity Model,0,0,+1+ V#  
   If KeyDown(31)=1 Then MoveEntity Model,0,0,-1- V#  
   If KeyDown(30)=1 Then RotateEntity  Model,-1- V#,0,0  
   If KeyDown(32)=1 Then RotateEntity  Model,+1+ V#,0,0  ;только замени Model на камеру()

если не так врашается, то поэксперементируй с RotateEntity

Quote
Как сделать чтобы игрок смещался вправо влево только на клавиатуре. А движения вправо влево вертели камеру вокруг игрока!

толи чтото напутал при описании, то ли что но не понял я конечной мысли.



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