szukałem i nie znalazłem. kto pomoże? tak jak w temacie. jakąś tam prostą powiedzmy żeby się kwadracik w kółko kręcił. dzięki
Do tego potrzeba modułu Graph w TP (albo WinGraph w FreePascal’u).
Na przykład:
USES CRT, GRAPH;
VAR
ster, tryb:smallint;
BEGIN
DetectGraph(ster,tryb);
InitGraph(ster,tryb,'');
setcolor(3);
setfillstyle(1,0);
bar(10,10,20,20);
delay(3000);
CloseGraph;
END.
Narysuje kwadrat i po 3 sekundach się zamknie
omg nie o to mnie chodzilo :D. miał być sobie kwadracik i on miał się okręcać
a nie pokazać. ja nie chciałem rysować kwadracika tylko wprawić go w ruch bo narysować to umiem…
No to narysuj w miejscu czerwonego czarny a później narysuj obok czerwony. Powtórz 10 razy. Masz animację.
nie czaje możesz podać przykładowy program . trochę skomplikowane i niezrozumiałe
proszę mały przykłąd
uses graph,crt;
const k=31/40;
var d,m,x,y,c:integer;
begin
clrscr;
d:=9;
m:=1;
c:=30000;
initgraph(d,m,'');
cleardevice;
x:=getmaxx div 2;
y:=getmaxy div 2;
setactivepage(0);
{ **twarz** }
setcolor(yellow);
setfillstyle(1,yellow);
pieslice(x,y,0,360,200{x div 2});
{ **nos usta** }
setcolor(red);
setfillstyle(1,red);
ellipse(x,y+50,200,340,100,50);
pieslice(x,y+10,0,360,30);
{ **oczy** }
setcolor(blue);
setfillstyle(1,blue);
pieslice(x-100,y-50,0,360,50);
pieslice(x+100,y-50,0,360,50);
delay(c);
setactivepage(1);
{ **twarz** }
setcolor(yellow);
setfillstyle(1,yellow);
pieslice(x,y,0,360,200{x div 2});
{ **nos usta** }
setcolor(red);
setfillstyle(1,red);
ellipse(x,y+50,200,340,100,50);
pieslice(x,y+10,0,360,30);
{* oczy *}
setcolor(13);
setfillstyle(1,13);
pieslice(x-100,y-50,0,360,50);
pieslice(x+100,y-50,0,360,50);
delay(c);
repeat
setvisualpage(0);
delay(c);
setvisualpage(1);
delay(c);
until keypressed;
closegraph;
end.
ps. kod wygrzebany gdzieś w starociach - więc proszę darować sobie uwagi dot. jego “jakości”
zobacz też na google
Nie mam TP pod ręką a i nie używałem ponad 10 lat, ale spróbuję.
USES CRT, GRAPH;
VAR
ster, tryb, pos:smallint;
BEGIN
DetectGraph(ster,tryb);
InitGraph(ster,tryb,'');
setfillstyle(1,0);
setcolor(8);
bar(1,1,100,100);
FOR pos:=1 TO 20 DO
BEGIN
setcolor(8);
bar(9+pos, 9+pos, 19+pos, 19+pos);
setcolor(3);
bar(10+pos, 10+pos, 20+pos, 20+pos);
delay(250);
END;
delay(3000);
CloseGraph;
END.