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

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

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

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

Ответ
 
Опции темы
Старый 13.02.2009, 18:13   #1
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Столкновения...

Народ!конечно,извиняюсь за глупый вопрос,но я чето не пойму,что мне следует сделать, для столкновений user`а и стены...
Разъясните пожалуйста!а то все базовое сделал,а столкновения не умею...
Graphics3D 1024,768,32 
SetBuffer BackBuffer() 
Global user 
Global camera 
Global pricel=LoadImage("D:\battle\prizel.bmp") 
Global shot_sprite=LoadSprite("D:\battle\vistrel.bmp")
                  Type shot 
                   Field entity 
	       Field dist# 
                   End Type
                        Function karta()
       	                robot = LoadMesh ("G:\Blitz3d\Media\geometricks_models\stealth\stealth.3ds")
PositionEntity robot,0,10,-50
ScaleEntity robot,0.1,0.1,0.1
stena = CreateCube()
PositionEntity stena, 0,ground,100
ScaleEntity stena,2,5,5
texture = LoadTexture("D:\battle\k.jpg")
texture1 = LoadTexture("d:\battle\i.jpg")
EntityTexture stena,texture
For x = 1 To 100
razm = CopyEntity(stena)
PositionEntity razm, Rnd(-120, 120), 0, Rnd(1, 240)
Next 
	 	        End Function 
            Function create_Shot(x#,y#,z#,pitch#,yaw#,roll#) 
background = PlayMusic("D:\battle\str.wav")
            s.shot=New shot 
	s\entity=CopyEntity(shot_sprite) 
	PositionEntity s\entity,x#,y#,z#,1 
	RotateEntity s\entity,pitch#,yaw#,roll#,1 
     	Return True 
            End Function
     Function create_user(x#=0,y#=1,z#=0) 
     MidHandle pricel MaskImage pricel,255,255,255
     user=CreateSphere() 
     camera=CreateCamera(user) 
     PositionEntity camera,0,1,-0.5 
     PositionEntity user,x#,y#,z# 
     End Function 
           Function update_user()
	V#=0.2
	u#=70
	TurnEntity camera,MouseYSpeed(),0,0
	TurnEntity user,0,-MouseXSpeed(),0
	If KeyDown(30)=1 Then MoveEntity user,-V#,0,0
	If KeyDown(32)=1 Then MoveEntity user,V#,0,0
	If KeyDown(17)=1 Then MoveEntity user,0,0,+V# 
	If KeyDown(31)=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_world() 
  terrain=CreatePlane() 
  tertex=LoadTexture("D:\battle\parket.jpg") 
  ScaleTexture tertex,5,5
  EntityTexture terrain,tertex 
  FreeTexture tertex 
  create_user() 
karta()
  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#
 If a\dist#>max_dist#
 	FreeEntity a\entity
 	Delete a
 ElseIf EntityCollided(a\entity,TERRT) <> 0
 	FreeEntity a\entity
 	Delete a
 EndIf
	Next
	
End Function
                             create_world() 
                             While Not KeyHit(1)=1 
			update_user() 
		     update_shot()
                             RenderWorld() 
	                 DrawImage pricel,MouseX(),MouseY()
                            HideEntity shot_sprite

           		     Flip 
		     Wend 
                             End
(Offline)
 
Ответить с цитированием
Старый 13.02.2009, 18:49   #2
Petrofan
ПроЭктировщик
 
Аватар для Petrofan
 
Регистрация: 26.08.2008
Сообщений: 149
Написано 10 полезных сообщений
(для 18 пользователей)
Ответ: Столкновения...

Во первых нужно делать так
Const user_type=1,stena_type=2 -это ты присваеваешь переменой значение если у тебя будут пули то ето будет выгледить так Puli_type=3

entitytype user,user_type - пишем после создания играка
entitytype stena,stena_type - пишем после создания стены

Collisions user_type,stena_type,2,2

Во вторых
Перед RenderWorld напиши UpdateWorld
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mark Castle (17.02.2009)
Старый 13.02.2009, 19:04   #3
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: Столкновения...

тоесть так?а то что то не работает...
Graphics3D 1024,768,32 
SetBuffer BackBuffer() 
Global user 
Global camera 
Const user_type = 1,stena_type = 2
Global pricel=LoadImage("D:\battle\prizel.bmp") 
Global shot_sprite=LoadSprite("D:\battle\vistrel.bmp")
                  Type shot 
                   Field entity 
	       Field dist# 
                   End Type
                        Function karta()
       	                robot = LoadMesh ("G:\Blitz3d\Media\geometricks_models\stealth\stealth.3ds")
PositionEntity robot,0,10,-50
ScaleEntity robot,0.1,0.1,0.1
stena = CreateCube()
EntityType stena,stena_type
Collisions user_type,stena_type,2,2
PositionEntity stena, 0,ground,100
ScaleEntity stena,2,5,5
texture = LoadTexture("D:\battle\k.jpg")
texture1 = LoadTexture("d:\battle\i.jpg")
EntityTexture stena,texture
For x = 1 To 100
razm = CopyEntity(stena)
PositionEntity razm, Rnd(-120, 120), 0, Rnd(1, 240)
Next 
	 	        End Function 
            Function create_Shot(x#,y#,z#,pitch#,yaw#,roll#) 
background = PlayMusic("D:\battle\str.wav")
            s.shot=New shot 
	s\entity=CopyEntity(shot_sprite) 
	PositionEntity s\entity,x#,y#,z#,1 
	RotateEntity s\entity,pitch#,yaw#,roll#,1 
     	Return True 
            End Function
     Function create_user(x#=0,y#=1,z#=0) 
     MidHandle pricel MaskImage pricel,255,255,255
     user=CreateSphere() 
     camera=CreateCamera(user) 
     PositionEntity camera,0,1,-0.5 
     PositionEntity user,x#,y#,z# 
EntityType user,user_type
     End Function 
           Function update_user()
	V#=0.2
	u#=70
	TurnEntity camera,MouseYSpeed(),0,0
	TurnEntity user,0,-MouseXSpeed(),0
	If KeyDown(30)=1 Then MoveEntity user,-V#,0,0
	If KeyDown(32)=1 Then MoveEntity user,V#,0,0
	If KeyDown(17)=1 Then MoveEntity user,0,0,+V# 
	If KeyDown(31)=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_world() 
  terrain=CreatePlane() 
  tertex=LoadTexture("D:\battle\parket.jpg") 
  ScaleTexture tertex,5,5
  EntityTexture terrain,tertex 
  FreeTexture tertex 
  create_user() 
karta()
  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#
 If a\dist#>max_dist#
 	FreeEntity a\entity
 	Delete a
 ElseIf EntityCollided(a\entity,TERRT) <> 0
 	FreeEntity a\entity
 	Delete a
 EndIf
	Next
	
End Function
                             create_world() 
                             While Not KeyHit(1)=1 
			update_user() 
		     update_shot()
                             RenderWorld() 
	                 DrawImage pricel,MouseX(),MouseY()
                            HideEntity shot_sprite

           		     Flip 
		     Wend 
                             End
(Offline)
 
Ответить с цитированием
Старый 13.02.2009, 20:01   #4
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Столкновения...

Читай
Во вторых
Перед RenderWorld напиши UpdateWorld
(Offline)
 
Ответить с цитированием
Старый 13.02.2009, 20:08   #5
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Столкновения...

тоесть как... тоест так что надо подумать больше десяти минут
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Dream (13.02.2009)
Старый 13.02.2009, 20:42   #6
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Столкновения...

блин ну совсем FAQ засрали!
модеры, АУ!
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
Dream (13.02.2009), Mark Castle (13.02.2009)
Старый 17.02.2009, 20:02   #7
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: Столкновения...

и еще...знаю,что это самый тупой вопрос на форуме...
Function mina()
mina = CreateCylinder()
ScaleEntity mina,0.1,0.1,0.1
EntityType mina,mina_type
For x = 1 To 500
mina = CopyEntity(mina)
PositionEntity mina, Rnd(-450, 450),0, Rnd(-450, 450)
Next
End Function
как сделать так,чтобы когда я наступал на мину шото происходило?
(Offline)
 
Ответить с цитированием
Старый 17.02.2009, 20:29   #8
3dr1aN
Нуждающийся
 
Аватар для 3dr1aN
 
Регистрация: 26.12.2008
Сообщений: 70
Написано 26 полезных сообщений
(для 46 пользователей)
Ответ: Столкновения...

entitydistance
(Offline)
 
Ответить с цитированием
Старый 17.02.2009, 20:54   #9
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: Столкновения...

Сообщение от 3dr1aN Посмотреть сообщение
entitydistance
а пример можно?
(Offline)
 
Ответить с цитированием
Старый 17.02.2009, 21:47   #10
newman
Бывалый
 
Регистрация: 20.11.2007
Сообщений: 663
Написано 145 полезных сообщений
(для 176 пользователей)
Ответ: Столкновения...

dist = EntityDistance(player, mina)
if dist < 5 шото происходит
(Offline)
 
Ответить с цитированием
Старый 17.02.2009, 23:49   #11
LUK
Нуждающийся
 
Регистрация: 21.07.2007
Сообщений: 93
Написано 7 полезных сообщений
(для 13 пользователей)
Подмигивание Ответ: Столкновения...

Сообщение от Mark Castle Посмотреть сообщение
как сделать так,чтобы когда я наступал на мину шото происходило?
Купить тратилу и... или взять ножичек и самому отпилить... или... блин мозги включить...

Начинающие кодеры, заглядывайте хоть когда-нибудь в маны... тем более, что их столько для вас создано... Я о статьях одноименного блиц ет сетера (ссылка)...
Например, замечательное введение в программирование игр Мэта Меркулова (ссылка)...
Либо так же интересный ман от Scaven Razor Blada (ссылка)...

Осиль хотя бы эти 2 мана для начала, а потом задавай вопросы.

За оффтоп не обижаться - просто по твоим сообщениям видно что данные учебники ты и в глаза не видел... а так... копи пастиком и справочкой

Последний раз редактировалось LUK, 17.02.2009 в 23:54.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
tormoz (18.02.2009)
Старый 18.02.2009, 01:45   #12
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Столкновения...

а так... копи пастиком и справочкой
Справочку не трожь: справочка рулит...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 18.02.2009, 23:27   #13
paxlich
Оператор ЭВМ
 
Аватар для paxlich
 
Регистрация: 23.11.2006
Сообщений: 29
Написано 5 полезных сообщений
(для 7 пользователей)
Ответ: Столкновения...

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

а по поводу мин: проще было всё теми же коллизиями... только помимо стен нужно ещё задать и коллизии между игроком и миной...
__________________
Sky Cups — увлекательная игра про циркового бегемотка. Подружись с бегемотиком
на Google Play | на Samsung Apps | на Windows Phone | на App Store | на Facebook
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
phoenix29 (26.02.2009)
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Спрайт(столкновения) Dizels 3D-программирование 23 13.05.2010 22:45
Столкновения Abiron Blitz3D 12 09.03.2009 18:48
Столкновения butcher 3D-программирование 9 13.06.2007 17:55


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


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