| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- unit fdClouds;
- interface
- uses
- System.SysUtils,
- System.Types,
- System.UITypes,
- System.Classes,
- System.Variants,
- FMX.Types,
- FMX.Controls,
- FMX.Forms,
- FMX.Graphics,
- FMX.Dialogs,
- System.Math.Vectors,
- FMX.MaterialSources,
- FMX.Controls3D,
- FMX.Objects3D,
- FMX.Viewport3D,
- FMX.Ani,
- FMX.Controls.Presentation,
- FMX.StdCtrls,
- FMX.Edit,
- FMX.EditBox,
- FMX.SpinBox,
- FMX.Layouts,
- GBE.Clouds;
- type
- TFormClouds = class(TForm)
- Viewport3D1: TViewport3D;
- GBEClouds1: TGBEClouds;
- TextureMaterialSource1: TTextureMaterialSource;
- TextureMaterialSource2: TTextureMaterialSource;
- TextureMaterialSource3: TTextureMaterialSource;
- FloatAnimation1: TFloatAnimation;
- Layout1: TLayout;
- ArcDial1: TArcDial;
- SpinBox1: TSpinBox;
- SpinBox2: TSpinBox;
- Camera1: TCamera;
- procedure FormCreate(Sender: TObject);
- procedure FloatAnimation1Process(Sender: TObject);
- procedure ArcDial1Change(Sender: TObject);
- procedure SpinBox1Change(Sender: TObject);
- procedure SpinBox2Change(Sender: TObject);
- private
- public
- end;
- var
- FormClouds: TFormClouds;
- implementation
- {$R *.fmx}
- procedure TFormClouds.FormCreate(Sender: TObject);
- begin
- GBEClouds1.AddTextureCloud(TextureMaterialSource1);
- GBEClouds1.AddTextureCloud(TextureMaterialSource2);
- GBEClouds1.AddTextureCloud(TextureMaterialSource3);
- GBEClouds1.NbClouds := 15;
- GBEClouds1.WindSpeed := 0.1;
- GBEClouds1.Limits := 100;
- GBEClouds1.ActiveWind := true;
- FloatAnimation1.Start;
- end;
- procedure TFormClouds.ArcDial1Change(Sender: TObject);
- begin
- GBEClouds1.RotationAngle.Y := ArcDial1.Value;
- end;
- procedure TFormClouds.FloatAnimation1Process(Sender: TObject);
- begin
- GBEClouds1.MoveClouds;
- end;
- procedure TFormClouds.SpinBox1Change(Sender: TObject);
- begin
- if SpinBox1.Value > 0 then
- GBEClouds1.NbClouds := Round(SpinBox1.Value);
- end;
- procedure TFormClouds.SpinBox2Change(Sender: TObject);
- begin
- GBEClouds1.WindSpeed := 0.1 * SpinBox2.Value;
- end;
- end.
|