![]() |
|
|
#16
|
||||
|
||||
|
У меня ошибок нет - рисунки в массив грузятся норм., ошибка из-за запуска таймера, а в нём такое
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
i,j,k : Integer;
begin
for i:=0 to 19 do
for j:=0 to 19 do
Buf.Canvas.Draw(i*32,j*32, zemlya[ Mas[I,j,0] ] );
for i:=0 to 19 do
for j:=0 to 19 do
Buf.Canvas.Draw(i*32,j*32, obekti[ Mas[I,j,1] ] );
Form1.Canvas.Draw(0,0,Buf);
end; |
|
#17
|
||||
|
||||
|
ошибки нет.но на форме ничего не происходит
|
|
#18
|
||||
|
||||
|
Цитата:
Код:
Buf := TBitmap.Create; Buf.Width := 32 * 20; Buf.Height := 32 * 20; |
|
#19
|
||||
|
||||
|
да указываю
|
|
#20
|
|||
|
|||
|
А где Buf := TBitmap.Create; ?
|
|
#21
|
||||
|
||||
|
то есть вот так записать?
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Buf := TBitmap.Create;
Buf.Width := 32 * 32;
Buf.Height := 32 * 32;
for i:=0 to 19 do
for j:=0 to 19 do
Buf.Canvas.Draw(i*32,j*32, zemlya[ Mas[I,j,0] ] );
for i:=0 to 19 do
for j:=0 to 19 do
Buf.Canvas.Draw(i*32,j*32, obekti[ Mas[I,j,1] ] );
Form1.Canvas.Draw(0,0,Buf);
end; |
|
#22
|
||||
|
||||
|
в таймере,и на кнопке тоже был.так где мне его поставить?
|
|
#23
|
||||
|
||||
|
всё всем спасибо)нужно просто в таймере было так написать
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Buf := TBitmap.Create;
Buf.Width := 32 * 32;
Buf.Height := 32 * 32;
for i:=0 to 19 do
for j:=0 to 19 do
Buf.Canvas.Draw(i*32,j*32, zemlya[ Mas[I,j,0] ] );
for i:=0 to 19 do
for j:=0 to 19 do
Buf.Canvas.Draw(i*32,j*32, obekti[ Mas[I,j,1] ] );
Form1.Canvas.Draw(0,0,Buf);
end; |
|
#24
|
||||
|
||||
|
Цитата:
Код:
Buf.Free; |
|
#25
|
||||
|
||||
|
Buf.Free; а куда именно это вставить?в конце таймера?
|
|
#26
|
||||
|
||||
|
Цитата:
Да и прорисовку лучше делать не по таймеру, а по нужде - через FormPaint или на компоненте TPaintBox через его событие OnPaint. И TImage в данном случае тоже вполне себе подойдёт, но на нём лучше не завязываться. |
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
hsMapk (05.05.2014)
| ||