Перемещение колобков по форме

pavel123456789

Разработать приложение, которое работает следующим образом: после загрузки приложения картинки (возьмите три разных колобка) меняют свои координаты случайным образом (скорость перемещения отрегулируйте сами)
14 ответов

pavel123456789

помогите пожалуйста...(


pavel123456789

Заведите массив колобков, в таймере случайно меняйте координаты. Что из этого не получается?


pavel123456789

да вообще не получается , даже нарисовать не могу ,первый раз такое делаю..(


pavel123456789

Начните с загрузки колобков:
var Kol: array[1..3] of TBitMap;
 
procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  for i := 1 to 3 do begin
    Kol[i]:=TBitMap.Create;
    Kol[i].LoadFromFile('kolobok'+inttostr(i)+'.bmp');
  end;
end;
Файлы kolobok1.bmp, kolobok2.bmp, kolobok3.bmp должны лежать в текущей папке.


pavel123456789

pavel123456789, на скриншоте форма Visual Basic. Вы просто взяли картинку? По поводу колобков: скачайте готовые изображения и грузите.


pavel123456789

колобки просто в paint нарисовать? или как?


pavel123456789

В интернете их навалом и рисовать не надо.


pavel123456789

Полный код такой:
type TKolobok = record
  Bmp: TBitMap;
  X,Y: integer;
end;
 
var Kol: array[1..3] of TKolobok;
 
procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  randomize;
  for i := 1 to 3 do begin
    with Kol[i] do begin
      Bmp:=TBitMap.Create;
      Bmp.LoadFromFile('kolobok'+inttostr(i)+'.bmp');
      x:=random(clientwidth);
      y:=random(clientheight);
    end;
  end;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
  i: Integer;
begin
  Canvas.Rectangle(0,0,clientwidth, clientheight);
  for i := 1 to 3 do begin
    with Kol[i] do begin
      Canvas.Draw(x,y,bmp);
      inc(x,random(7)-3);
      inc(y,random(7)-3);
    end;
  end;
end;
Скорость зависит от скорости таймера (свойство Interval).


pavel123456789

спасибо ребят)))


pavel123456789

pavel123456789, Вот тут еще колобки есть, только динамически они там создаются Массив картинокТак же там один код они рандомно прыгают, потом чуть измененный ниже код они просто как снег вниз падают, потом сверху снова появляются.


pavel123456789

пишет ошибку на тип,что делать?


pavel123456789

TKolobok = record;
  Bmp: TBitMap;
  X,Y: integer;
вот тут у меня ошибка,что делать...


pavel123456789

TKolobok = record;
  Bmp: TBitMap;
  X,Y: integer;
  end;//это есть?


pavel123456789

да естьвот то есть я так пишу и вылезает ошибка
type
  TForm1 = class(TForm)
  TKolobok = record;
  Bmp: TBitMap;
  X,Y: integer;
  private
  public
 
  end;