Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 04.07.2013, 00:42   #1
Demon
Оператор ЭВМ
 
Регистрация: 04.07.2013
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Печаль Прыжок и гравитация.

Два дня назад начал изучать blitz3D.Решил создать небольшую игру все хорошо но без гравитации .Например после того как залез на замок нельзя с него слезть.Помогите это исправить .И если не сложно помогите создать прыжок.Вот код :
Graphics3D 640,480,16,1

SetBuffer BackBuffer()

lit=CreateLight()




Const TypePlayer=1,TypeWall=2,typewell=3,Typepln=4,Typecamolet=5


player=CreateCube()
tex=LoadTexture("J:\games\texture\Wood1.png")
EntityTexture player,tex
EntityType player,typeplayer 

cam=CreateCamera(player)

PositionEntity cam,0,5,-10
PositionEntity player,0,0,0

x=CreatePlane()
tex=LoadTexture("J:\games\texture\Ground.png")
EntityTexture x,tex 
PositionEntity x,0,-1,0





wall= LoadMesh("J:\games\model\fighter.3ds") 
ScaleEntity wall, 0.1, 0.1, 0.1
PositionEntity wall, 110,6,20
EntityType wall,Typewall
Collisions Typeplayer,Typewall,2,1


camolet= LoadMesh("J:\games\model\fighter.3ds") 
ScaleEntity camolet, 0.1, 0.1, 0.1
PositionEntity camolet, 70,6,20

EntityType camolet,Typecamolet
Collisions TypePlayer,Typecamolet,2,1

camolet= LoadMesh("J:\games\model\fighter.3ds") 
ScaleEntity camolet, 0.1, 0.1, 0.1
PositionEntity camolet, 150,6,20

EntityType camolet,Typecamolet
Collisions TypePlayer,Typecamolet,2,1

well=LoadMesh("J:\games\model\wcrate1.3ds")
ScaleEntity well,0.1,0.1,0.1
PositionEntity well,-16,5,-30

EntityType well,TypeWell
Collisions TypePlayer,TypeWell,2,1

well=LoadMesh("J:\games\model\wcrate1.3ds")
ScaleEntity well,0.1,0.1,0.1
PositionEntity well,-20,1,-30

EntityType well,TypeWell
Collisions TypePlayer,TypeWell,2,1

well=LoadMesh("J:\games\model\wcrate1.3ds")
ScaleEntity well,0.1,0.1,0.1
PositionEntity well,-16,1,-34

EntityType well,TypeWell
Collisions TypePlayer,TypeWell,2,1

well=LoadMesh("J:\games\model\wcrate1.3ds")
ScaleEntity well,0.1,0.1,0.1
PositionEntity well,-12,1,-30

EntityType well,TypeWell
Collisions TypePlayer,TypeWell,2,1

well=LoadMesh("J:\games\model\wcrate1.3ds")
ScaleEntity well,0.1,0.1,0.1
PositionEntity well,-16,1,-26

EntityType well,TypeWell
Collisions TypePlayer,TypeWell,2,1


well=LoadMesh("J:\games\model\CASTLE1.X")
ScaleEntity well,0.1,0.1,0.1
PositionEntity well,0,-3,0

EntityType well,TypeWell
Collisions TypePlayer,TypeWell,2,3

Repeat



    If KeyDown(200) MoveEntity player,0,0,.9
    
    If KeyDown(208) MoveEntity player,0,0,-.1
    
    If KeyDown(203) TurnEntity player,0,1,0
    
    If KeyDown(205) TurnEntity player,0,-1,0
    
    If KeyDown(30) MoveEntity cam,0,0,.1
    
    If KeyDown(44) MoveEntity cam,0,0,-.1
    
    
    UpdateWorld
    RenderWorld
    Flip

Until KeyHit(1)

End
Пожалуйста напишите все кодом.
(Offline)
 
Ответить с цитированием
Старый 04.07.2013, 00:44   #2
Demon
Оператор ЭВМ
 
Регистрация: 04.07.2013
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Прыжок и гравитация.

Вместо смайла в очках 8 ) .
(Offline)
 
Ответить с цитированием
Старый 04.07.2013, 01:03   #3
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Прыжок и гравитация.

Видимо у тебя не хватает гравитации, двигай игрока каждый кадр с некоторой скоростью вниз (для начала), должно помочь.
__________________
(Offline)
 
Ответить с цитированием
Старый 04.07.2013, 01:16   #4
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Прыжок и гравитация.

LoadMesh("J:\games\model\fighter.3ds")
Воу-воу, парень, полегче.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Nikich за это полезное сообщение:
Кирпи4 (04.07.2013), Gector (04.07.2013)
Старый 04.07.2013, 13:04   #5
Demon
Оператор ЭВМ
 
Регистрация: 04.07.2013
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Прыжок и гравитация.

двигай игрока каждый кадр с некоторой скоростью вниз это как ?
(Offline)
 
Ответить с цитированием
Старый 04.07.2013, 14:05   #6
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: Прыжок и гравитация.

global grav = 9.8
в главном цикле
TranslateEntity Player, 0, -grav, 0
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Demon (04.07.2013)
Старый 04.07.2013, 14:21   #7
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Прыжок и гравитация.

global grav = 0.001
Для начала.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Demon (04.07.2013)
Старый 04.07.2013, 14:24   #8
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: Прыжок и гравитация.

Nex, да я поставил чтобы понятно было что это гравитация
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Demon (04.07.2013)
Старый 04.07.2013, 22:05   #9
Demon
Оператор ЭВМ
 
Регистрация: 04.07.2013
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Прыжок и гравитация.

Спасибо
А что на счет прыжка подскажите плз
(Offline)
 
Ответить с цитированием
Старый 04.07.2013, 22:54   #10
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Прыжок и гравитация.

Практически тоже самое только наоборот да и на форуме уже просто куча тем про прыжки.

Сначала проверяем на земле ли стоит игрок и если да, то делаем что то типа такого:
If KeyHit (57) Then
grav=1
EndIf

grav=grav-0.01

TranslateEntity player,0,grav,0
(Offline)
 
Ответить с цитированием
Старый 04.07.2013, 23:46   #11
Demon
Оператор ЭВМ
 
Регистрация: 04.07.2013
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Прыжок и гравитация.

Я пишу If KeyDown(57) MoveEntity player,0,10,1
все хорошо но как сделать что быть он 1 раз подпрыгнул и упал на землю ,а то можно прыгать все выше и выше .
(Offline)
 
Ответить с цитированием
Старый 05.07.2013, 00:04   #12
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Прыжок и гравитация.

Я же тебе написал что надо проверять стоит ли игрок на земле или нет. Проверить можно вроде через EntityCollided. Должно быть больше или меньше нуля (<>0).
че то типа такого. я просто не имею под рукой блитза.
If EntityCollided (player,TYPE_GROUND) <>0 then
 ;тут код с прыжком
EndIf
(Offline)
 
Ответить с цитированием
Старый 05.07.2013, 21:50   #13
Kudesnic
Нуждающийся
 
Аватар для Kudesnic
 
Регистрация: 27.08.2010
Адрес: Лен. область
Сообщений: 58
Написано 21 полезных сообщений
(для 50 пользователей)
Ответ: Прыжок и гравитация.

http://forum.boolean.name/showthread.php?t=16294
Посмотри, может возьмешь с кода что-нибудь нужное
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Кирпи4 (06.07.2013)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:53.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com