fSphereD.pas 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. unit fSphereD;
  2. interface
  3. uses
  4. Winapi.OpenGL,
  5. System.SysUtils,
  6. System.Classes,
  7. Vcl.Graphics,
  8. Vcl.Controls,
  9. Vcl.Forms,
  10. Vcl.Dialogs,
  11. Vcl.ComCtrls,
  12. Vcl.StdCtrls,
  13. GLS.Scene,
  14. GLScene.VectorTypes,
  15. GLS.Objects,
  16. GLS.Collision,
  17. GLS.SceneViewer,
  18. GLS.Coordinates,
  19. GLS.BaseClasses;
  20. type
  21. TFormSphere = class(TForm)
  22. GLScene1: TGLScene;
  23. GLSceneViewer1: TGLSceneViewer;
  24. CollisionManager1: TGLCollisionManager;
  25. GLCamera1: TGLCamera;
  26. GLLightSource1: TGLLightSource;
  27. DummyCube1: TGLDummyCube;
  28. Sphere1: TGLSphere;
  29. Sphere2: TGLSphere;
  30. TrackBar1: TTrackBar;
  31. Button1: TButton;
  32. procedure TrackBar1Change(Sender: TObject);
  33. procedure Button1Click(Sender: TObject);
  34. procedure CollisionManager1Collision(Sender: TObject; object1, object2: TGLBaseSceneObject);
  35. private
  36. { Private declarations }
  37. public
  38. end;
  39. var
  40. FormSphere: TFormSphere;
  41. implementation
  42. {$R *.DFM}
  43. procedure TFormSphere.TrackBar1Change(Sender: TObject);
  44. begin
  45. Sphere1.Position.Z := TrackBar1.Position / 10;
  46. end;
  47. procedure TFormSphere.Button1Click(Sender: TObject);
  48. begin
  49. CollisionManager1.CheckCollisions;
  50. end;
  51. procedure TFormSphere.CollisionManager1Collision(Sender: TObject;
  52. object1, object2: TGLBaseSceneObject);
  53. begin
  54. ShowMessage('Collision between ' + object1.Name + ' and ' + object2.Name);
  55. end;
  56. end.