Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Zespół Szkół Ogólnokształcących w Bobowej

Wrażenie, że obiekty są ruchome uzyskujemy dzięki szybkiemu następowaniu po sobie kolejnych {nieruchomych) obrazów. Aby "oszukać" wzrok - by animacja była płynna - kolejne obrazy muszą być wyświetlane w tempie przynajmniej 30 obrazów na sekundę. W praktycznych zastosowaniach animacja realizowana jest w różny sposób. Najprostszym z nich jest rysowanie i wymazywanie kolejnych obrazków na ekranie. Po narysowaniu obrazka wstrzymujemy na chwilę działanie programu i nie wymazujemy go od razu - byłby widoczny zbyt krótko i oko mogłoby w ogóle go nie zauważyć albo byłoby widać "mruganie"

Animacja realizowana jest schematycznie w następującej pętli:

  • rysujemy obiekt
  • wstrzymujemy działanie programu
  • usuwamy obiekt
  • obliczamy nowe położenie obiektu

POBIERZ CAŁĄ LEKCJĘ

GRAF11.PAS
{p©tle logiczne - odbijanie}program grafika11;uses crt,graph;var  x,y,w,s,k:integer;procedure ProstokatK(x,y,s,w,k:integer);begin	SetColor(k);  MoveTo(x,y);  LineRel(0,w);  LineRel(s,0);  LineRel(0,-w);  LineRel(-s,0);end;var d,m:integer;begin  d:=detect;  initgraph(d,m,'');  readln;  x:=1;  y:=100;  w:=40;  s:=40;  k:=10;  repeat  {tam - REPEAT}  repeat  	ProstokatK(x,y,s,w,k);    delay(5);    ProstokatK(x,y,s,w,0);    x:=x+1;  until x > (640-s);  {z powrotem - WHILE}  {zmienne sĄ juľ zainicjowane i ustawione}  while x > 0 do  begin  	ProstokatK(x,y,s,w,k);    delay(5);    ProstokatK(x,y,s,w,0);    x:=x-1;  end;  until keypressed;   {powtarzamy odbijanie aľ naci˜niemy dowolny klawisz}  closegraph;end.
Zobacz tutaj