forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Выделение объектов. (http://forum.boolean.name/showthread.php?t=4614)

Delta_Q 01.10.2007 02:44

Выделение объектов.
 
Как реализовать выбор объектов?
Интересуют способы выделния с помощю мышки.
Т.е. мы сделали сцену где на полоскости перд нами лежать БОКС, СФЕРА и КОНУС в программе задали через NameEntity им имена. Мы камерой смотрим на 3 предмета расположенных перед нами на поверхности. Наводимся мышкой делаем клик по одному из интересующих нас объектов и алгоритм должен выдать нам Имя объекта по которому мы кликнули.

Platon 01.10.2007 03:31

Re: Выделение объектов.
 
См. справку по EntityPickModе, CameraPick и EntityName

PaKo 01.10.2007 03:48

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


Delta_Q 01.10.2007 03:55

Re: Выделение объектов.
 
Спасибо! :) Тему закрываем вопрос исчерпан.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot