|
3D-программирование Вопросы, касающиеся программирования 3D мира |
04.07.2013, 00:42
|
#1
|
Оператор ЭВМ
Регистрация: 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
|
Оператор ЭВМ
Регистрация: 04.07.2013
Сообщений: 35
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Прыжок и гравитация.
Вместо смайла в очках 8 ) .
|
(Offline)
|
|
04.07.2013, 01:03
|
#3
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Прыжок и гравитация.
Видимо у тебя не хватает гравитации, двигай игрока каждый кадр с некоторой скоростью вниз (для начала), должно помочь.
__________________
|
(Offline)
|
|
04.07.2013, 01:16
|
#4
|
Бывалый
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений (для 275 пользователей)
|
Ответ: Прыжок и гравитация.
LoadMesh("J:\games\model\fighter.3ds")
Воу-воу, парень, полегче.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Nikich за это полезное сообщение:
|
|
04.07.2013, 13:04
|
#5
|
Оператор ЭВМ
Регистрация: 04.07.2013
Сообщений: 35
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Прыжок и гравитация.
двигай игрока каждый кадр с некоторой скоростью вниз это как ?
|
(Offline)
|
|
04.07.2013, 14:05
|
#6
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: Прыжок и гравитация.
в главном цикле
TranslateEntity Player, 0, -grav, 0
__________________
Абсолютли!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
04.07.2013, 14:21
|
#7
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Прыжок и гравитация.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
04.07.2013, 14:24
|
#8
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: Прыжок и гравитация.
Nex, да я поставил чтобы понятно было что это гравитация
__________________
Абсолютли!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
04.07.2013, 22:05
|
#9
|
Оператор ЭВМ
Регистрация: 04.07.2013
Сообщений: 35
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Прыжок и гравитация.
Спасибо
А что на счет прыжка подскажите плз
|
(Offline)
|
|
04.07.2013, 22:54
|
#10
|
Гигант индустрии
Регистрация: 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
|
Оператор ЭВМ
Регистрация: 04.07.2013
Сообщений: 35
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Прыжок и гравитация.
Я пишу If KeyDown(57) MoveEntity player,0,10,1
все хорошо но как сделать что быть он 1 раз подпрыгнул и упал на землю ,а то можно прыгать все выше и выше .
|
(Offline)
|
|
05.07.2013, 00:04
|
#12
|
Гигант индустрии
Регистрация: 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
|
Нуждающийся
Регистрация: 27.08.2010
Адрес: Лен. область
Сообщений: 58
Написано 21 полезных сообщений (для 50 пользователей)
|
Ответ: Прыжок и гравитация.
http://forum.boolean.name/showthread.php?t=16294
Посмотри, может возьмешь с кода что-нибудь нужное
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:56.
|