camera - camera handle viewport_x# - 2D viewport coordinate viewport_z# - 2D viewport coordinate |
Picks the entity positioned at the specified viewport coordinates. Returns the entity picked, or 0 if none there. An entity must have its dxEntityPickMode set to a non-0 value value to be 'pickable'. See also: dxEntityPick, dxLinePick, dxCameraPick, dxEntityPickMode. |
; dxCameraPick Example ; ------------------ dxGraphics3D 640,480,0,2 dxSetBuffer dxBackBuffer() camera=dxCreateCamera() dxPositionEntity camera,0,2,-10 light=dxCreateLight() dxRotateEntity light,90,0,0 plane=dxCreatePlane() dxEntityPickMode plane,2 ; Make the plane entity 'pickable'. Use pick_geometry mode no.2 for polygon collision. ground_tex=dxLoadTexture("media/Chorme-2.bmp") dxEntityTexture plane,ground_tex cube=dxCreateCube() dxEntityPickMode cube,2 ; Make the cube entity 'pickable'. Use pick_geometry mode no.2 for polygon collision. cube_tex=dxLoadTexture("media/b3dlogo.jpg") dxEntityTexture cube,cube_tex dxPositionEntity cube,0,1,0 While Not dxKeyDown( 1 ) If dxKeyDown( 205 )=True Then dxTurnEntity camera,0,-1,0 If dxKeyDown( 203 )=True Then dxTurnEntity camera,0,1,0 If dxKeyDown( 208 )=True Then dxMoveEntity camera,0,0,-0.05 If dxKeyDown( 200 )=True Then dxMoveEntity camera,0,0,0.05 ; If left mouse button hit then use dxCameraPick with mouse coordinates ; In this example, only three things can be picked: the plane, the cube, or nothing If dxMouseHit(1)=True Then dxCameraPick(camera,dxMouseX(),dxMouseY()) dxRenderWorld dxText 0,0,"Use cursor keys to move about" dxText 0,20,"Press left mouse button to use dxCameraPick with mouse coordinates" dxText 0,40,"dxPickedX: "+dxPickedX#() dxText 0,60,"dxPickedY: "+dxPickedY#() dxText 0,80,"dxPickedZ: "+dxPickedZ#() dxText 0,100,"dxPickedNX: "+dxPickedNX#() dxText 0,120,"dxPickedNY: "+dxPickedNY#() dxText 0,140,"dxPickedNZ: "+dxPickedNZ#() dxText 0,160,"dxPickedTime: "+dxPickedTime#() dxText 0,180,"dxPickedEntity: "+dxPickedEntity() dxText 0,200,"dxPickedSurface: "+dxPickedSurface() dxText 0,220,"dxPickedTriangle: "+dxPickedTriangle() dxFlip Wend End |