Delphi programozás - Szoftverfejlesztés fórum

üzenetek

hozzászólások


Tomi_78
(tag)

Ja, ha jól értem arra gondolsz, hogy töröljem azt a képet és hozzam létre újra és újra!
Hú, ez kicsit erőforráspazarlónak tűnik így első hallásra, de nem kizárt, hogy igazad van. De a csúszkás módszer is szóba jöhet, aminek a forráskódját közzétetted.
Egyébként változtattam kicsit a programomon: most már jó az elmozdulás, csak az a baj, hogy a figurák nem törlődnek az előző helyükről. Nagyvonalakban:
1. a palyafrissites nevű időzítő eseményben kezelem az elmozdulást és frissítem azt a vásznat, amire kirajzolom őket:

procedure TForm1.palyafrissites(Sender: TObject);
begin

//mozgatás utasításai, majd:
with palyakep.canvas do invalidate;
end;

2. a TForm1 formpaint-jában pedig a kirajzolások:

procedure TForm1.FormPaint(Sender: TObject);
var puffalkepe: byte;
  i: integer;
begin
  canvas.draw(palyakepx,palyakepy,palyakep);
  for i:=0 to puffancsdb-1 do
  begin
    puffalkepe:=trunc(puffancs[i].iranya*8/360);
    if puffalkepe>7 then puffalkepe:=0;
    palyakep.canvas.draw(puffancs[i].xhely,puffancs[i].yhely,puffancskep[puffalkepe]);
  end;
end;

De az a baj, hogy bagózik a fentebbi Invalidate-re, mert én nem a Form1-en, hanem a
palyakep:=TBitmap.Create;
módon létrehozott képen akarom kirajzolni és frissíteni a dolgokat, és erre ezt produkálja:

üzenetek