Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Animation;
- interface
- uses
- System.SysUtils, System.Types, System.UITypes, System.Classes,
- System.Variants,
- FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Ani,
- FMX.Objects, Rocket, System.Generics.Collections;
- const
- ROCKET_AMNT = 10;
- type
- TMainForm = class(TForm)
- Timer1: TTimer;
- imgBackground: TImage;
- procedure FormCreate(Sender: TObject);
- procedure Timer1Timer(Sender: TObject);
- procedure FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
- Shift: TShiftState);
- private
- { Private declarations }
- public
- ArrayOfRockets: TObjectList<TRocket>;
- { Public declarations }
- end;
- var
- MainForm: TMainForm;
- implementation
- {$R *.fmx}
- procedure TMainForm.FormCreate(Sender: TObject);
- var
- I: Integer;
- begin
- Randomize;
- ArrayOfRockets := TObjectList<TRocket>.Create(False);
- end;
- procedure UpdateWorld(var F: TMainForm);
- var
- I: Integer;
- begin
- with F do
- begin
- I := 0;
- while I <> ArrayOfRockets.Count do
- begin
- if Assigned(ArrayOfRockets[I]) then
- begin
- if not ArrayOfRockets[I].Destroyed then
- ArrayOfRockets[I].Update
- else
- begin
- ArrayOfRockets[I].Destroy;
- ArrayOfRockets.Delete(I);
- Dec(I);
- end;
- end;
- Inc(I);
- end;
- end;
- end;
- procedure TMainForm.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
- Shift: TShiftState);
- begin
- if Key = vkReturn then
- ArrayOfRockets.Add(TRocket.Create(200 + Random(300), 408,
- 30 - Random(60), 2));
- end;
- procedure TMainForm.Timer1Timer(Sender: TObject);
- begin
- UpdateWorld(Self);
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement