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

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

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

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

Закрытая тема
 
Опции темы
Старый 01.10.2007, 02:44   #1
Delta_Q
Нуждающийся
 
Регистрация: 23.09.2007
Сообщений: 62
Написано 0 полезных сообщений
(для 0 пользователей)
Выделение объектов.

Как реализовать выбор объектов?
Интересуют способы выделния с помощю мышки.
Т.е. мы сделали сцену где на полоскости перд нами лежать БОКС, СФЕРА и КОНУС в программе задали через NameEntity им имена. Мы камерой смотрим на 3 предмета расположенных перед нами на поверхности. Наводимся мышкой делаем клик по одному из интересующих нас объектов и алгоритм должен выдать нам Имя объекта по которому мы кликнули.
(Offline)
 
Старый 01.10.2007, 03:31   #2
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: Выделение объектов.

См. справку по EntityPickModе, CameraPick и EntityName
(Offline)
 
Старый 01.10.2007, 03:48   #3
PaKo
Нуждающийся
 
Регистрация: 13.08.2007
Сообщений: 70
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Выделение объектов.

Delta_Q вот не большой пример с выбором объектов:

Graphics3D 800,600,32,2
SetBuffer BackBuffer ()

Type Tar
	Field shar
End Type

Global t

cam=CreateCamera()
CameraRange cam,.1,2000
PositionEntity cam,0,0,-10
light= CreateLight()

For i=1 To 10
s.tar = New tar
s\shar=CreateSphere(8)
EntityPickMode s\shar,1 
EntityType s\shar,1   ;указываем тип объекта можно задать для каждого объектасвой (шар, куб, цилиндр)
PositionEntity s\shar,Rnd(-5,5),Rnd(-5,5),0
Next


While Not KeyHit(1)


	If (MouseHit(1)) 
		who=CameraPick(cam,MouseX(),MouseY())
		If who<>0 t=GetEntityType (who) Else t=0 ;пров выбран ли объект
		Select t   
			Case 1   
			del(who) ;действие над объектом(с опрнд типом)
		End Select
	End If
	
RenderWorld 
Flip

Wend

End

Function del(who)

		For s.tar=Each tar
    		If who=s\shar Then Exit
		Next
		
		FreeEntity s\shar
		Delete s
		
End Function
(Offline)
 
Старый 01.10.2007, 03:55   #4
Delta_Q
Нуждающийся
 
Регистрация: 23.09.2007
Сообщений: 62
Написано 0 полезных сообщений
(для 0 пользователей)
Сообщение Re: Выделение объектов.

Спасибо! Тему закрываем вопрос исчерпан.
(Offline)
 
Закрытая тема


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множество объектов Taugeshtu 3D-программирование 10 31.07.2007 10:27
Вхождения объектов Inrio 3D-программирование 10 01.07.2007 08:34
Перемещени объектов WaReZ_MEN 3D-программирование 9 08.05.2007 02:51
Выделение мышкой mr.DIMAS 3D-программирование 13 01.02.2007 01:55
Шлейф для объектов SubZer0 Полезные функции 10 10.10.2005 20:23


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


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