Проблемы с графикой
program grp;
uses crt, graph;
var
gd, gm:integer;
x,y,x1,y1:integer;
p:pointer;
Size:word;
i:integer;
begin
gd:=detect;
initgraph(gd, gm, 'c:\bp\bgi');
x1:=10;
{setViewPort(10, 10, 100, 100, false);}
Size:=ImageSize(10, 10, 100, 100);
rectangle(10, 10, 100, 100);
GetMem(p, Size);
readkey;
y1:=10;
GetImage(10, 10, 100, 100, p^);
PutImage(10, 10, p^, XORPUT);
for x1:=10 to 300 do
begin
x:=x1-1;
y:=y1-1;
PutImage(x, y, p^, XORPUT);
PutImage(x1, y1, p^, XORPUT);
{ClearViewPort;
SetViewPort(x1, y1, x1+90, y1+90, false);
rectangle(x1, y1, x1+90, y1+90);}
inc(y1);
end;
end.
Тут происходит перемещение квадрата по экрану, но вов время перемещения на экране глюки!!! Что делать?
Цитата:
Originally posted by Wolverin
Есть код:
...
for x1:=10 to 300 do
begin
x:=x1-1;
y:=y1-1;
PutImage(x, y, p^, XORPUT);
PutImage(x1, y1, p^, XORPUT);
end;
Тут происходит перемещение квадрата по экрану, но вов время перемещения на экране глюки!!! Что делать?
Есть код:
...
for x1:=10 to 300 do
begin
x:=x1-1;
y:=y1-1;
PutImage(x, y, p^, XORPUT);
PutImage(x1, y1, p^, XORPUT);
end;
Тут происходит перемещение квадрата по экрану, но вов время перемещения на экране глюки!!! Что делать?
Поменяй местами PutImage(x, y, ...) и PutImage(x1, y1, ...).
Цитата:
Originally posted by Wolverin
Есть код:
program grp;
uses crt, graph;
var
gd, gm:integer;
x,y,x1,y1:integer;
p:pointer;
Size:word;
i:integer;
begin
gd:=detect;
initgraph(gd, gm, 'c:\bp\bgi');
x1:=10;
{setViewPort(10, 10, 100, 100, false);}
Size:=ImageSize(10, 10, 100, 100);
rectangle(10, 10, 100, 100);
GetMem(p, Size);
readkey;
y1:=10;
GetImage(10, 10, 100, 100, p^);
PutImage(10, 10, p^, XORPUT);
for x1:=10 to 300 do
begin
x:=x1-1;
y:=y1-1;
PutImage(x, y, p^, XORPUT);
PutImage(x1, y1, p^, XORPUT);
{ClearViewPort;
SetViewPort(x1, y1, x1+90, y1+90, false);
rectangle(x1, y1, x1+90, y1+90);}
inc(y1);
end;
end.
Тут происходит перемещение квадрата по экрану, но вов время перемещения на экране глюки!!! Что делать?
Есть код:
program grp;
uses crt, graph;
var
gd, gm:integer;
x,y,x1,y1:integer;
p:pointer;
Size:word;
i:integer;
begin
gd:=detect;
initgraph(gd, gm, 'c:\bp\bgi');
x1:=10;
{setViewPort(10, 10, 100, 100, false);}
Size:=ImageSize(10, 10, 100, 100);
rectangle(10, 10, 100, 100);
GetMem(p, Size);
readkey;
y1:=10;
GetImage(10, 10, 100, 100, p^);
PutImage(10, 10, p^, XORPUT);
for x1:=10 to 300 do
begin
x:=x1-1;
y:=y1-1;
PutImage(x, y, p^, XORPUT);
PutImage(x1, y1, p^, XORPUT);
{ClearViewPort;
SetViewPort(x1, y1, x1+90, y1+90, false);
rectangle(x1, y1, x1+90, y1+90);}
inc(y1);
end;
end.
Тут происходит перемещение квадрата по экрану, но вов время перемещения на экране глюки!!! Что делать?
Проще делать по-моему
данную вещь
простой анимацией: нарисовал-стер-нарисовал
примерно так
setcolor(0);
line(i-1,y,x1,y1);
setcolor(5);
line(i,y,x1,y1);
в цикле
См. файло там что-то бегает
Благодарю)