Убери лишний битм и работает быстрей и памяти меньше кушает!
procedure DrawM;
var
n, i,k,f,d: Integer;
c: Char;
s: String;
begin
s:='';
f:=0;
CAN.Canvas.Rectangle(0,0,962,592);
for i:=0 to 27 do
begin
s:=M.Strings[i];
for k:=0 to 26 do
begin
c:=s[k+1];
case c of
'A': n:=1;
'B': n:=2;
'C': n:=3;
'D': n:=4;
end;
begin
if i mod 2>0 then d:=17 else d:=0;
CAN.Canvas.Draw(k*35-d+17,i*25-f,BUF[n]);
FMAIN.MAP.Canvas.Draw(0,0,CAN);
end;
end;
f:=f+4;
end;
end;
procedure TFMAIN.TTimer(Sender: TObject);
begin
application.ProcessMessages; {Чтобы всё процессорное время не отнять}
DrawM; {на сайте EXESCHNICK посмотри}
end;
|