[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 1 из 1
  • 1
Модератор форума: Spidy, turBO, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Транспорт (как делать посадку,высадку?)
Транспорт
DarkFoxДата: Суббота, 30.01.2010, 11:38 | Сообщение # 1
ламер
Группа: Пользователи
Сообщений: 47
Награды: 0
Репутация: 1
Статус: Offline
Подкажите как сделать посадку,высадку из транспорта.
если учесть что транспортных средст дофига(и у всех свои тип поведения)


"Стрельбу по движущимся мишеням, производить только с разрешения администрации
В случае попадания бое припаса в тело, обращаться к богу!!!"
 
VirusssДата: Суббота, 30.01.2010, 12:03 | Сообщение # 2
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
А жанр какой? Стратегия, или надо одним персомм бегать по транспорту?
 
DarkFoxДата: Суббота, 30.01.2010, 12:17 | Сообщение # 3
ламер
Группа: Пользователи
Сообщений: 47
Награды: 0
Репутация: 1
Статус: Offline
Типа привет ГТА

"Стрельбу по движущимся мишеням, производить только с разрешения администрации
В случае попадания бое припаса в тело, обращаться к богу!!!"
 
VirusssДата: Суббота, 30.01.2010, 12:30 | Сообщение # 4
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Можно втупаря - меш ирока удаляеш, а грузиш меш машины с игроком, находиш меш игрока в машине и заводиш его в тип с теми же параметрами что и у обычного(hp)
А как выходиш - снова грузиш меш машыны и игрока.

Для реалистичности сначала подгрузи, а потом проиграй анимацию посадки, да и не забывай что нужно потом учитывать побитость машыны и hp игрока!

 
DarkFoxДата: Суббота, 30.01.2010, 12:44 | Сообщение # 5
ламер
Группа: Пользователи
Сообщений: 47
Награды: 0
Репутация: 1
Статус: Offline
А как быть если транспорта дофига?
Ну к примеру мотик,авто и вертик.
Во все по разному садиться надо. да и все они "транспорт".

тоесть тут нужно будет через тип.
где будет вид транспорта. ну тд.

я делал начало всего этого.(при подходе к модели мотика, писалось "сеть на мотик", а к машине "сесть в /название/". но вот так тока появиласт авто, то про действия над мотик переборка уже молчала)


"Стрельбу по движущимся мишеням, производить только с разрешения администрации
В случае попадания бое припаса в тело, обращаться к богу!!!"
 
VirusssДата: Суббота, 30.01.2010, 13:01 | Сообщение # 6
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Quote (DarkFox)
А как быть если транспорта дофига? Ну к примеру мотик,авто и вертик. Во все по разному садиться надо. да и все они "транспорт". тоесть тут нужно будет через тип. где будет вид транспорта. ну тд.

ну так и сделай через тип кто тебе не дает? Сделай типы для машын,вертиков или мотыков...можно все в один тип впихнуть, но тода куча переменных и
условий выйдет.В каждом случае разные анимации и сделай модель машыны с и без игрока. Ну или смотри кто в ней сидит там кто то другой или игрок,
и грузи мешы соответственно.
Quote (DarkFox)
я делал начало всего этого.(при подходе к модели мотика, писалось "сеть на мотик", а к машине "сесть в /название/". но вот так тока появиласт авто, то про действия над мотик переборка уже молчала)

расшывруй плиз, ты подходил к мотыку и все норм, а как ввел машыны нфига не писало?

Короче я о том что ты определись с маштыбами игры, ну типа может ли машына разбиватся или показывается ли процесс как иггрок салится, короче есть
много вещей который еси делаеш надо учесть и делать другим способом, а еси их не делать то где то можно попроще сделать...

 
deejexДата: Суббота, 30.01.2010, 15:08 | Сообщение # 7
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
Допустим, у модели машины кость "enter" закреплена, в месте посадки/высадки
Code


Global curplayer = CreatePlayer("player.3ds",0,0,0,0,0,0)

Type Tcar
Field speed#
Field mesh%,player%,index%
End Type

Type Tplayer
Field mesh%,car%,index%
End Type

...

Function CreateCar(mesh$,x#,y#,z#,pitch#,yaw#,roll#)
car.Tcar = New Tcar
car\mesh = loadmesh(mesh)
PositionEntity car\mesh,x,y,z
RotateEntity car\mesh,pitch,yaw,roll
Return car\index = Handle(car)
End Function

Function CreatePlayer(mesh$,x#,y#,z#,pitch#,yaw#,roll#)
player.Tplayer = New Tplayer
player\mesh = loadmesh(mesh)
PositionEntity player\mesh,x,y,z
RotateEntity player\mesh,pitch,yaw,roll
Return player\index = Handle(player)
End Function

Function Update()

For player.Tplayer = Each Tplayer

If curplayer = player\index And KeyDown(33) And player\car=0 Then
For car.Tcar = Each Tcar
If EntityDistance(player\mesh,car\mesh) < MeshWidth(player\mesh)*2 Then
car\player = player\index : player\car = car\index
HideEntity player\mesh
End If
Next
ElseIf curplayer = player\index And KeyDown(33) And player\car<>0 Then
For car.Tcar = Each Tcar
If player\car = car\index Then
tmp_enter_bone = FindChild(car,"enter")
PositionEntity player\mesh,EntityX(tmp_enter_bone),EntityY(tmp_enter_bone),EntityZ(tmp_enter_bone)
ShowEntity player\mesh
car\player = 0
player\car = 0
End If
Next
End If
Next

...

End Function

как-то так...






Сообщение отредактировал deejex - Суббота, 30.01.2010, 15:08
 
turBOДата: Воскресенье, 31.01.2010, 00:42 | Сообщение # 8
Полковник
Группа: Администраторы
Сообщений: 297
Награды: 5
Репутация: 12
Статус: Offline
В проекте Python (есть в Проектах на сайте) герой входил в ЛуАЗик и выходил из него. Принцип был таков - при нажатии соответствующей клавиши перс скрывается, убираются его коллизии, а камера, которая к нему прикреплена, "вьезжает" в кабину.

Что касается разных транспортных средств, смотри пост deejex выше. если понятно.


If 2+2<>4 Then Restart
 
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Транспорт (как делать посадку,высадку?)
  • Страница 1 из 1
  • 1
Поиск: