Új hozzászólás Aktív témák

  • Tomi_78

    tag

    válasz Fire/SOUL/CD #2026 üzenetére

    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:

Új hozzászólás Aktív témák