|
как делать прыжки??
| |
Proglot | Дата: Суббота, 2009-01-10, 3:24 AM | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Offline
| вопрос простой, как писать прыжки и гравитацию??=))
q-_-p monkeys 4ever
|
|
| |
Blitz3D | Дата: Вторник, 2009-01-13, 1:32 PM | Сообщение # 2 |
Admin
Группа: Администраторы
Сообщений: 11
Репутация: 0
Статус: Offline
| Простые прыжки и гравитация героя: Function UpdatePlayer( p.Player ) ty#=EntityY(p\entity) y_vel#=(ty-p\player_y) p\player_y=ty If KeyHit(57) ;jump? y_vel=5 ;2.4 Else y_vel=y_vel-.5 ;2 EndIf TranslateEntity p\entity,0,y_vel,0 End Function
|
|
| |
Keypa | Дата: Среда, 2009-02-04, 1:10 AM | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Offline
| хм... у меня что-то не получается)
|
|
| |
Anwind | Дата: Суббота, 2009-03-14, 6:52 PM | Сообщение # 4 |
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Offline
| Код конечно надо даработать, но на первое время может сойдет или сам что нибудь додумай) Graphics3D 1024,768,32,1 SetBuffer BackBuffer() map= LoadMesh("Карта.3ds") heroes= LoadMesh("Персонаж.3ds") Repeat MoveEntity heroes,0,-0.5,0; так сказать наша сила притяжения EntityType heroes,1; столкновение что бы ниже карты не опускаться EntityType map,2 Collisions 1,2,2,3 If KeyHit(57)Then;сам прыжок pr#=pr#+4 If pr#>4 pr#=4 Else pr#=pr#*.80 EndIf MoveEntity heroes,0,pr#,0 UpdateWorld RenderWorld Flip Until KeyHit(1) End
|
|
| |
111 | Дата: Четверг, 2009-11-12, 7:35 AM | Сообщение # 5 |
Рядовой
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Offline
| Anwind, map= LoadMesh("Карта.3ds") здесь можно и объекты вставлять (дома , деревья и т.д ) ? а heroes= LoadMesh("Персонаж.3ds") а здесь можно транспорт и людей вставлть ? да ? If KeyHit(57)Then;сам прыжок pr#=pr#+4 If pr#>4 pr#=4 Else pr#=pr#*.80 EndIf MoveEntity heroes,0,pr#,0 только это придётся сменить , так ? Добавлено (2009-11-12, 7:35 Am) --------------------------------------------- Anwind, я попробавал но уменя экран черный
|
|
| |
Volkov93 | Дата: Суббота, 2011-03-05, 4:17 PM | Сообщение # 6 |
Рядовой
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Offline
| Привет!После строки heroes= LoadMesh("Персонаж.3ds") нажми ентер и добавь:cam=createcamera(heroes) Так ты добавишь камеру в свою игру.Без камеры ни одна игра не пойдёт.
|
|
| |
ExperT | Дата: Воскресенье, 2011-07-17, 10:36 AM | Сообщение # 7 |
Рядовой
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Offline
| Неа, это экран черный он Until-а. Надо просто удалить Repeat и Until KeyHit(1), а вместо него написать, перед самым концом проги написать:
While Not KeyDown(1)
If KeyDown(17) Then MoveEntity heroes,0,0,0.025 If KeyDown(31) Then MoveEntity heroes,0,0,-0.025 If KeyDown(30) Then TurnEntity heroes,0,0.50,0 If KeyDown(32) Then TurnEntity heroes,0,-0.50,0
Wend
=)
Добавлено (2011-07-17, 10:36 Am) --------------------------------------------- 111, Вот, короче, готовый код =)) : Graphics3D 1024,768,32 SetBuffer BackBuffer()
map=LoadMesh("d:\plane.3ds") heroes=LoadMesh("d:\bip.3ds") cam=CreateCamera(heroes) PositionEntity map,0,-1,0 PositionEntity heroes,0,1,0 tx_plane=LoadTexture("d:\tx.jpg") EntityTexture map,tx_plane
EntityType heroes,1 EntityType map,2 Collisions 1,2,2,3
While Not KeyDown(1)
If KeyDown(17) Then MoveEntity heroes,0,0,0.025 If KeyDown(31) Then MoveEntity heroes,0,0,-0.025 If KeyDown(30) Then TurnEntity heroes,0,0.50,0 If KeyDown(32) Then TurnEntity heroes,0,-0.50,0
MoveEntity heroes,0,-0.5,0
If KeyHit(57)Then pr#=pr#+4 If pr#>4 pr#=4 Else pr#=pr#*.80 EndIf MoveEntity heroes,0,pr#,0
UpdateWorld RenderWorld Flip Wend End
Если хочешь, чтобы игрок опускался после прыжка на землю медленнее, напиши вместо MoveEntity heroes,0,-0.5,0 вот это, или меньше: MoveEntity heroes,0,-0.3,0
Сообщение отредактировал ExperT - Воскресенье, 2011-07-17, 10:41 AM |
|
| |
|
Copyright MyCorp © 2024 |
|
| |