CameraPick ( camera,viewport_x#,viewport_y# )

Параметры

camera - указатель камеры
viewport_x# - 2D-координата x в области просмотра (на полном экране или в окне)
viewport_y# - 2D-координата y в области просмотра

Описание

Выбирает объект, позиционированный в указанные координаты области просмотра.

Возвращает номер выбранного объекта, или 0, если не выбран ни один.

Объект должен иметь назначенный ему тип определения, присвоенный командой EntityPickMode, не равный 0, чтобы его можно было выбрать.

Смотрите также : EntityPick, LinePick, CameraPick, EntityPickMode.

Пример

; Пример CameraPick
; ------------------

Graphics3D 640,480,0,2
SetBuffer BackBuffer()

camera=CreateCamera()
PositionEntity camera,0,2,-10

light=CreateLight()
RotateEntity light,90,0,0

plane=CreatePlane()
EntityPickMode plane,2 ; Присвоим плоскости тип определения 2 (по полигонам).
ground_tex=LoadTexture("media/Chorme-2.bmp")
EntityTexture plane,ground_tex

cube=CreateCube()
EntityPickMode cube,2 ; Присвоим кубу тип определения 2 (по полигонам).
cube_tex=LoadTexture("media/b3dlogo.jpg")
EntityTexture cube,cube_tex
PositionEntity cube,0,1,0

While Not KeyDown( 1 )

If KeyDown( 205 )=True Then TurnEntity camera,0,-1,0
If KeyDown( 203 )=True Then TurnEntity camera,0,1,0
If KeyDown( 208 )=True Then MoveEntity camera,0,0,-0.05
If KeyDown( 200 )=True Then MoveEntity camera,0,0,0.05

; Если левая кнопка мыши нажата, используем CameraPick с координатами мыши
; В этом примере можно выбрать только 3 вещи: плоскость, куб, или ничего
If MouseHit(1)=True Then CameraPick(camera,MouseX(),MouseY())

RenderWorld

Text 0,0,"Use cursor keys to move about"
Text 0,20,"Press left mouse button to use CameraPick with mouse coordinates"
Text 0,40,"PickedX: "+PickedX#()
Text 0,60,"PickedY: "+PickedY#()
Text 0,80,"PickedZ: "+PickedZ#()
Text 0,100,"PickedNX: "+PickedNX#()
Text 0,120,"PickedNY: "+PickedNY#()
Text 0,140,"PickedNZ: "+PickedNZ#()
Text 0,160,"PickedTime: "+PickedTime#()
Text 0,180,"PickedEntity: "+PickedEntity()
Text 0,200,"PickedSurface: "+PickedSurface()
Text 0,220,"PickedTriangle: "+PickedTriangle()

Flip

Wend

End

Главная страница

Нажмите здесь, чтобы увидеть последнюю версию этой страницы в интернете