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

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

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

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

Ответ
 
Опции темы
Старый 15.10.2005, 15:58   #1
всем привет!)
 
Сообщений: n/a
Вопрос

Вот выуладываю код,поверхность это вода и модель суши,получился орхипелаг в возвышенностями.как по нему двигаться с видом от первого лица? опускаться и подниматься на возвышенностях,а в воде плавать)
плиз помогите. :'((
 
Ответить с цитированием
Старый 15.10.2005, 17:36   #2
jimon
 
Сообщений: n/a
зделай проверку на нахождение в воде\на суше
если в воде то отключай гравитацию
если на суше то гравитацию на нормальную ставь
 
Ответить с цитированием
Старый 15.10.2005, 21:06   #3
Guest
 
Сообщений: n/a
я не знаю как вообще делать гравитацию :'((
 
Ответить с цитированием
Старый 15.10.2005, 21:09   #4
jimon
 
Сообщений: n/a
тебе вообще че надо ? и что для етого есть ?
 
Ответить с цитированием
Старый 15.10.2005, 21:09   #5
KRIK
Бывалый
 
Регистрация: 19.09.2005
Сообщений: 649
Написано 3 полезных сообщений
(для 3 пользователей)
Если хочешь чтоб тебе хорошо помогли, желательно скинь весь код со всеми ресурсами!
(Offline)
 
Ответить с цитированием
Старый 15.10.2005, 21:21   #6
alcosholik
 
Сообщений: n/a
Похоже, у него нет ни кода, ни ресурсов
http://community.boolean.name/index.php?showtopic=236
 
Ответить с цитированием
Старый 16.10.2005, 00:18   #7
Guest
 
Сообщений: n/a
у меня есть код! и ресурсы,короче у меня холмистая местность,могу ходить тока по низинам(ровной поверхности) а холмы на сквозь прхожу.
;инициализация графики
Graphics3D 800,600,32
SetBuffer BackBuffer()

Global user
Global camera

Const G#=1

Const USERT=1;for user
Const TERRT=2;for terrain
Const SHOTT=3;for shot
Const BOTT=4;for bot

Global pricel=LoadImage("C:/media/pricel2.bmp")
Global shot_sprite=LoadSprite("C:/media/sprite.bmp")

Type shot
Field entity
Field dist#
End Type

Type bot
Field entity
End Type

;создание игрока
Function create_user(x#=0,y#=10,z#=0)

MidHandle pricel
MaskImage pricel,255,255,255

user=CreateSphere()
k#=3
ScaleEntity user,k#,k#,k#
EntityRadius user,k#
camera=CreateCamera(user)
CameraRange camera,0.1,100
PositionEntity user,x#,y#,z#
EntityType user,USERT

End Function

;обновление игрока
Function update_user()

V#=0.5
u#=70;предельный угол
TurnEntity camera,MouseYSpeed(),0,0
TurnEntity user,0,-MouseXSpeed(),0
If KeyDown(203)=1 Then MoveEntity user,-V#,0,0
If KeyDown(205)=1 Then MoveEntity user,V#,0,0
If KeyDown(200)=1 Then MoveEntity user,0,0,+V# 
If KeyDown(208)=1 Then MoveEntity user,0,0,-V#
MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
If Abs(EntityPitch#(camera))>u# RotateEntity camera,u#*Sgn(EntityPitch#(camera)),0,0

If MouseHit(1) create_shot(EntityX(user),EntityY(user),EntityZ(user),EntityPitch(camera),EntityYaw(user),0)
;физика
TranslateEntity user,0,-G#,0
End Function

Function create_Shot(x#,y#,z#,pitch#,yaw#,roll#)
s.shot=New shot
s\entity=CopyEntity(shot_sprite)
EntityType s\entity,SHOTT
PositionEntity s\entity,x#,y#,z#,1
RotateEntity s\entity,pitch#,yaw#,roll#,1
Return True
End Function

Function update_shot()
vs#=1
max_dist#=1000
For a.shot=Each shot
 MoveEntity a\entity,0,0,vs#
 a\dist#=a\dist#+vs#
 bot_h=EntityCollided(a\entity,BOTT)
 If a\dist#>max_dist#
 FreeEntity a\entity
 Delete a
 ElseIf EntityCollided(a\entity,TERRT) <> 0
 FreeEntity a\entity
 Delete a
 ElseIf bot_h <> 0
 FreeEntity a\entity
 Delete a
 For q.bot=Each bot
  If q\entity=bot_h
  FreeEntity bot_h
  Delete q
  create_bot(EntityX(user)+Rnd(-100,100),2,EntityZ(user)+Rnd(-100,100))
  Exit
  EndIf
 Next
 EndIf
Next
End Function

Function create_bot(x#,y#,z#)
b.bot=New bot
b\entity=CreateSphere()
EntityType b\entity,BOTT
PositionEntity b\entity,x#,y#,z#
Return True
End Function

Function update_bot()
v#=0.3
For a.bot=Each bot
 PointEntity a\entity,user
 MoveEntity a\entity,0,0,v#
Next
End Function


;создание игрового мира
Function create_world()
light=CreateLight()
RotateEntity light,90,0,0
HideEntity shot_sprite
Pl= CreatePlane() 
tx=LoadTexture("C:/media/water.jpg");
EntityTexture Pl,tx;
FreeTexture tx
EntityPickMode pl,2
NameEntity pl,"Water"

create_user()

terrain= CreatePlane() 
Land=LoadTerrain("C:/media/land.png") 
EntityPickMode Land,2
NameEntity Land,"Land"
EntityType terrain,TERRT

tx=LoadTexture("C:/media/moss.jpg")

ScaleTexture tx,10.5,3.2
EntityTexture terrain,tx 
EntityTexture land,tx 
FreeTexture tx

ScaleEntity terrain,5,1,5
ScaleEntity Land,5,80,5
MoveEntity Land,-256*5,-20,-256*5
MoveEntity terrain,0,-20.001,0
create_user()

c_bot=Input("input Amount")
For i=1 To c_bot
 create_bot(Rnd(-100,100),2,Rnd(-100,100))
Next

Collisions USERT,TERRT,2,3
Collisions SHOTT,SH,2,1

Collisions BOTT,TERRT,2,3
Collisions BOTT,USERT,2,3
Collisions BOTT,BOTT,2,3

Collisions USERT,BOTT,2,3

Collisions SHOTT,BOTT,2,1
End Function
;функции закончились 
;--------------------------------
create_world()

;MAIN LOOP
While Not KeyHit(1)=1
update_user()
update_shot()
update_bot()
UpdateWorld()
RenderWorld()
DrawImage pricel,MouseX(),MouseY()
Flip
Wend
;----------------------------
 
Ответить с цитированием
Старый 16.10.2005, 13:33   #8
jimon
 
Сообщений: n/a
все зависит от твоих холмов )

а вот что ты неумееш делать гравитацию - не ври !
;физика
TranslateEntity user,0,-G#,0

(наверно какойта *** пришол с RBC чтобы над нами поиздиватся)
 
Ответить с цитированием
Старый 16.10.2005, 14:06   #9
KRIK
Бывалый
 
Регистрация: 19.09.2005
Сообщений: 649
Написано 3 полезных сообщений
(для 3 пользователей)
АГА, скорей всего, ведь если бы ему так всё это надобыло, он мог бы зарегестрироваться и выложить всё что у него из ресурсов на его компе лежит, а не говорить ,что у него они есть.

Если же это не так, возможно он просто плохо знает Blitz, а коды взял с какого-нибудь сайта и попробовал их соеденить, ну результат мы все хорошо видим.
(Offline)
 
Ответить с цитированием
Старый 16.10.2005, 16:11   #10
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Смущение

Да что вы на человека напали. Учится - получается. Вначале всегда так:
1)пишем прогу, копируя куски
2)понимаем зачем они нужны и варьируем участки кода
3)практичекси всё пишем своими словами
4)знаем как и что написать
5)знаем как решить задачу несколькими способами, выбираем оптимальный.

А код многие видели в FAQ Ничего плохого в этом нет
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 16.10.2005, 16:35   #11
Guest
 
Сообщений: n/a
так вы мне поможите? на холмы охота забираться и опускаться.да и чтоб были не кружки(боты) а модели,у меня они есть с анимацией(смерти ходьбы атаки) и чтоб не только один прицел был а пушка выглядывала,калаша есть)
плииииииз)
 
Ответить с цитированием
Старый 16.10.2005, 16:46   #12
KRIK
Бывалый
 
Регистрация: 19.09.2005
Сообщений: 649
Написано 3 полезных сообщений
(для 3 пользователей)
Guest Я не знаю, мож я чё-то ни то загружал (хотя это мало вероятно, у меня все ресы есть), я загрузил твой код, посмотрел и чё-то не пойму, почему у тебя холм с воздуха начинается??? Не понимаю, вроде всё загружал то же, что и написанно :-/
(Offline)
 
Ответить с цитированием
Старый 16.10.2005, 17:27   #13
Guest
 
Сообщений: n/a
сам не пойму
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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