pick.bb 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. Global info1$="Pick demo"
  2. Global info2$="Hit A/Z To change camera zoom"
  3. Include "../start.bb"
  4. sphere=CreateSphere()
  5. EntityPickMode sphere,1
  6. For k=1 To 100
  7. model=CopyEntity( sphere )
  8. EntityColor model,Rnd(255),Rnd(255),Rnd(255)
  9. EntityShininess model,Rnd(1)
  10. rad#=Rnd(1,2)
  11. EntityRadius model,rad
  12. ScaleEntity model,rad,rad,rad
  13. TurnEntity model,Rnd(360),Rnd(360),0
  14. MoveEntity model,0,0,Rnd(20)+20
  15. Next
  16. FreeEntity sphere
  17. light=CreateLight()
  18. TurnEntity light,45,45,0
  19. camera=CreateCamera()
  20. CameraRange camera,.1,1000
  21. entity=0
  22. zoom#=1
  23. While Not KeyHit(1)
  24. If KeyDown(30) zoom=zoom*1.1
  25. If KeyDown(44) zoom=zoom/1.1
  26. CameraZoom camera,zoom
  27. x=MouseX()
  28. y=MouseY()
  29. If y<32 TurnEntity camera,-2,0,0
  30. If y>480-32 TurnEntity camera,2,0,0
  31. If x<32 TurnEntity camera,0,2,0
  32. If x>640-32 TurnEntity camera,0,-2,0
  33. e=CameraPick( camera,x,y )
  34. If e<>entity
  35. If entity Then EntityAlpha entity,1
  36. entity=e
  37. EndIf
  38. If entity
  39. EntityAlpha entity,Sin( MilliSecs() )*.5+.5
  40. EndIf
  41. UpdateWorld
  42. RenderWorld
  43. Rect x,y-3,1,7
  44. Rect x-3,y,7,1
  45. Flip
  46. Wend