|
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 |