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

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

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

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

Ответ
 
Опции темы
Старый 02.09.2009, 07:28   #16
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: переход между уровнями ...

Вроде так.
If MouseDown (1) Then 
	Pick = CameraPick (camera,MouseX(),MouseY())
		If Pick = door Then 
			;тут код, что надо сделать если тыкнул в дверь
		EndIf			
EndIf
(Offline)
 
Ответить с цитированием
Старый 02.09.2009, 20:07   #17
drave
Оператор ЭВМ
 
Аватар для drave
 
Регистрация: 18.02.2009
Сообщений: 37
Написано 4 полезных сообщений
(для 4 пользователей)
Ответ: переход между уровнями ...

А вот фиг .... Не пашет и всё я уже так пробовал раз 50 наверно !
__________________
Моя фантазия сводит меня с ума ..... ХОРОШО....


Вы думаете вы нуб в Блитце ? Поверьте у вас не всё так плохо как у меня
(Offline)
 
Ответить с цитированием
Старый 02.09.2009, 20:10   #18
drave
Оператор ЭВМ
 
Аватар для drave
 
Регистрация: 18.02.2009
Сообщений: 37
Написано 4 полезных сообщений
(для 4 пользователей)
Ответ: переход между уровнями ...

SkyDream , может ты сбацаешь какой нить мини-примерчик , чтоб при наводке кубик он посветился а при нажатии на него и взлетал например ! ..... Все равно спс кстати !
__________________
Моя фантазия сводит меня с ума ..... ХОРОШО....


Вы думаете вы нуб в Блитце ? Поверьте у вас не всё так плохо как у меня
(Offline)
 
Ответить с цитированием
Старый 05.09.2009, 18:37   #19
PalVitalia
AnyKey`щик
 
Аватар для PalVitalia
 
Регистрация: 06.07.2009
Сообщений: 14
Написано 4 полезных сообщений
(для 5 пользователей)
Ответ: переход между уровнями ...

Graphics3D 640,480,16,2
camera=CreateCamera()
light=CreateLight()

player=CreateSphere()
PositionEntity player, 2, 0, 0
cam=CreateCamera(player)
TurnEntity player, 0,30,0

watertext=LoadTexture("floor.jpg")
water=CreatePlane()
PositionEntity water,0,-2,0
ScaleTexture watertext, 1,1
EntityTexture water,watertext

;create texture for the movie & 3d entity
movietex = CreateTexture(256,256,256+4
cube = CreateCube()
EntityPickMode cube, 2
EntityTexture cube,movietex
MoveEntity cube,0,0,2

;load movie
movie = OpenMovie("video.avi")

While Not KeyHit(1)
If (MouseHit(1)=True)
ent = CameraPick(cam,MouseX(),MouseY())
If ent
If MoviePlaying(movie)=0
movie = OpenMovie("video.avi")
EndIf
EndIf
EndIf
If KeyDown(200) MoveEntity player,0,0,0.2
If KeyDown(20 MoveEntity player,0,0,-0.2
If KeyDown(203) TurnEntity player,0,2,0
If KeyDown(205) TurnEntity player,0,-2,0

DrawMovie(movie)
CopyRect 0,0,256,256,0,0,BackBuffer(),TextureBuffer(moviete x)

RenderWorld
Flip
Wend
End
(Offline)
 
Ответить с цитированием
Старый 06.09.2009, 10:40   #20
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: переход между уровнями ...

Как то так... Я просто таким не страдал поэтому может можно и проще сделать.
Graphics3D 1024,768,32,2
	SetBuffer BackBuffer()
	
Global cube = CreateCube()
	EntityPickMode cube,2
	EntityColor cube,255,0,0
	RotateEntity cube,20,20,20
	PositionEntity cube,0,0,15
Global light = CreateLight()
	RotateEntity light,90,0,0
Global cam = CreateCamera()
Global Pick,Pick2



While Not KeyHit(1)
	Update()
	mouselook(cam)

RenderWorld()
Flip
Wend:End

Function Update()
	Pick = CameraPick (cam,MouseX(),MouseY())
		If Pick = cube Then
			EntityColor cube,0,255,0
				Else
			EntityColor cube,255,0,0
		EndIf
		
		If MouseDown (1) Then
			Pick2 = CameraPick (cam,MouseX(),MouseY())
				If Pick2 = cube Then
					EntityColor cube,255,0,0
					MoveEntity cube,0,.5,0
				EndIf
		EndIf
End Function



Function mouselook(ent) ; Функция обзора мышью
	mxspd#=MouseXSpeed()*0.25
	myspd#=MouseYSpeed()*0.25
		MoveMouse GraphicsWidth()/2,GraphicsHeight()/2	
	campitch#=EntityPitch(ent)+myspd#
		If campitch#<-85 Then campitch#=-85 ; ограничения поворота
		If campitch#>85 Then campitch#=85
			RotateEntity ent,campitch#,EntityYaw(ent)-mxspd#,EntityRoll(ent)
End Function
(Offline)
 
Ответить с цитированием
Старый 07.10.2009, 01:02   #21
drave
Оператор ЭВМ
 
Аватар для drave
 
Регистрация: 18.02.2009
Сообщений: 37
Написано 4 полезных сообщений
(для 4 пользователей)
Ответ: переход между уровнями ...

Кхм , как странно , использовал код SkyDream'а на обычном энтити , работает , но стоит вставить аниммэш и тогда уже пик не срабатывает ?! Не подскажите в чём фишка ?! Пик + Аниммэш = пососамба !!! ( Кстати SkyDream , низкий тебе поклон за помощ нубью ) !
__________________
Моя фантазия сводит меня с ума ..... ХОРОШО....


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

drave, начет пик аниммеш я че то хз. Поидее должно и на нем работать. Может ты забыл добавить EntityPickMode?
Я тоже нуб еще и еще долго им буду и "нуб" мне кажется это как то грубо и не стоит этим словом себя или кого нибудь называть ибо каждый из нас в чем то нуб...
(Offline)
 
Ответить с цитированием
Старый 07.10.2009, 13:38   #23
3dr1aN
Нуждающийся
 
Аватар для 3dr1aN
 
Регистрация: 26.12.2008
Сообщений: 70
Написано 26 полезных сообщений
(для 46 пользователей)
Ответ: переход между уровнями ...

рекурсия. аниммеш проверять по чилдам.
__________________
http://forum.boolean.name/image.php?type=sigpic&userid=4031&dateline=1231466  391
(Offline)
 
Ответить с цитированием
Старый 07.10.2009, 16:07   #24
drave
Оператор ЭВМ
 
Аватар для drave
 
Регистрация: 18.02.2009
Сообщений: 37
Написано 4 полезных сообщений
(для 4 пользователей)
Ответ: переход между уровнями ...

А по русски !? Покажи примерчик плиз !!!!
__________________
Моя фантазия сводит меня с ума ..... ХОРОШО....


Вы думаете вы нуб в Блитце ? Поверьте у вас не всё так плохо как у меня
(Offline)
 
Ответить с цитированием
Старый 07.10.2009, 16:51   #25
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: переход между уровнями ...

Сообщение от drave Посмотреть сообщение
А по русски !? Покажи примерчик плиз !!!!
Ну тут все просто. При загрузке через аним меш много чего отпадает и в то же время наоборот. Вот например текстурить его только по чилдам, пикать тоже по чилдам, чилды мы ищем в меше так FindChild(ent,who$)

FindChild ( entity,child_name$ )
Параметры
entity - указатель объекта 
child_name$ - имя дочернего объекта для поиска  

Описание
Возвращает указатель на первый же дочерний объект указанного объекта, имя которого совпадает с child_name$. 
Ну или проще напишу для тебя поконкретней. Надеюсь все правильно. Функция сработает если в аним меши есть чилды, автоматом присваивает всем чилдам заданный PickMode.

Function EntityPickModeAnim(entity,mode=2)
	If CountChildren(entity) > 0 
		For childcount = 1 To CountChildren(entity) 
			child = GetChild(entity,childcount)
			EntityPickMode child,mode
		Next 
	EndIf  
End Function
Применять так:

entity = LoadAnimMesh("mesh.b3d")
EntityPickModeAnim(entity,2)
__________________

EvilChaotic About
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо EvilChaotic за это полезное сообщение:
NitE (07.10.2009), Slavik (08.10.2009)
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
EntityDistance между обьектами одного типа IGR 3D-программирование 8 09.10.2007 14:25
Плавный переход между анимациями BoB 3D-программирование 7 04.05.2007 11:31
мифология - между добром и злом jimon Болтовня 3 04.03.2007 09:52
Проход между комнатами Progger_Leo 3D-программирование 21 31.12.2006 20:37
Интервал между датами (в днях) Barklay Основной форум 5 25.12.2006 18:51


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


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