CameraPick.htm 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <html>
  2. <head>
  3. <title>Blitz3D Docs</title>
  4. <link rel=stylesheet href=../css/commands.css type=text/css>
  5. </head>
  6. <body>
  7. <h1>CameraPick ( camera,viewport_x#,viewport_y# )</h1>
  8. <h1>Parameters</h1>
  9. <table>
  10. <tr>
  11. <td>
  12. camera - camera handle <br />
  13. viewport_x# - 2D viewport coordinate <br />
  14. viewport_z# - 2D viewport coordinate
  15. </td>
  16. </tr>
  17. </table>
  18. <h1>Description</h1>
  19. <table>
  20. <tr>
  21. <td>
  22. Picks the entity positioned at the specified viewport coordinates. <br />
  23. <br />
  24. Returns the entity picked, or 0 if none there. <br />
  25. <br />
  26. An entity must have its EntityPickMode set to a non-0 value value to be 'pickable'.
  27. <br>
  28. <br>
  29. See also: <a class=small href=EntityPick.htm>EntityPick</a>, <a class=small href=LinePick.htm>LinePick</a>, <a class=small href=CameraPick.htm>CameraPick</a>, <a class=small href=EntityPickMode.htm>EntityPickMode</a>.
  30. </td>
  31. </tr>
  32. </table>
  33. <h1><a href=../3d_examples/CameraPick.bb>Example</a></h1>
  34. <table>
  35. <tr>
  36. <td>
  37. ; CameraPick Example <br />
  38. ; ------------------ <br />
  39. <br />
  40. Graphics3D 640,480,0,2 <br />
  41. SetBuffer BackBuffer() <br />
  42. <br />
  43. camera=CreateCamera() <br />
  44. PositionEntity camera,0,2,-10 <br />
  45. <br />
  46. light=CreateLight() <br />
  47. RotateEntity light,90,0,0 <br />
  48. <br />
  49. plane=CreatePlane() <br />
  50. EntityPickMode plane,2 ; Make the plane entity 'pickable'. Use pick_geometry mode no.2 for polygon collision. <br />
  51. ground_tex=LoadTexture("media/Chorme-2.bmp") <br />
  52. EntityTexture plane,ground_tex <br />
  53. <br />
  54. cube=CreateCube() <br />
  55. EntityPickMode cube,2 ; Make the cube entity 'pickable'. Use pick_geometry mode no.2 for polygon collision. <br />
  56. cube_tex=LoadTexture("media/b3dlogo.jpg") <br />
  57. EntityTexture cube,cube_tex <br />
  58. PositionEntity cube,0,1,0 <br />
  59. <br />
  60. While Not KeyDown( 1 ) <br />
  61. <br />
  62. If KeyDown( 205 )=True Then TurnEntity camera,0,-1,0 <br />
  63. If KeyDown( 203 )=True Then TurnEntity camera,0,1,0 <br />
  64. If KeyDown( 208 )=True Then MoveEntity camera,0,0,-0.05 <br />
  65. If KeyDown( 200 )=True Then MoveEntity camera,0,0,0.05 <br />
  66. <br />
  67. ; If left mouse button hit then use CameraPick with mouse coordinates <br />
  68. ; In this example, only three things can be picked: the plane, the cube, or nothing <br />
  69. If MouseHit(1)=True Then CameraPick(camera,MouseX(),MouseY()) <br />
  70. <br />
  71. RenderWorld <br />
  72. <br />
  73. Text 0,0,"Use cursor keys to move about" <br />
  74. Text 0,20,"Press left mouse button to use CameraPick with mouse coordinates" <br />
  75. Text 0,40,"PickedX: "+PickedX#() <br />
  76. Text 0,60,"PickedY: "+PickedY#() <br />
  77. Text 0,80,"PickedZ: "+PickedZ#() <br />
  78. Text 0,100,"PickedNX: "+PickedNX#() <br />
  79. Text 0,120,"PickedNY: "+PickedNY#() <br />
  80. Text 0,140,"PickedNZ: "+PickedNZ#() <br />
  81. Text 0,160,"PickedTime: "+PickedTime#() <br />
  82. Text 0,180,"PickedEntity: "+PickedEntity() <br />
  83. Text 0,200,"PickedSurface: "+PickedSurface() <br />
  84. Text 0,220,"PickedTriangle: "+PickedTriangle() <br />
  85. <br />
  86. Flip <br />
  87. <br />
  88. Wend <br />
  89. <br />
  90. End
  91. </td>
  92. </tr>
  93. </table>
  94. <br>
  95. <a target=_top href=../index.htm>Index</a><br>
  96. <br>
  97. Click <a href=http://www.blitzbasic.co.nz/b3ddocs/command.php?name=CameraPick&ref=comments target=_blank>here</a> to view the latest version of this page online</body>
  98. </html>