home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1996 May
/
PCW596.iso
/
polskie
/
eduk
/
genfast
/
genfast.lzh
/
DEMO_08.PAK
/
ANIMA2.DA_
< prev
next >
Wrap
Text File
|
1996-02-08
|
3KB
|
116 lines
; Animacja numer 2 - animowanie map bitowych w tekscie
; Wykonanie Piotr W.-Rakowski, 1996
[1!]
@ClrScr;
@Reset;
@ShowScreen;
@DisableStatusBar;
@UpArea(0,0,639,479,3);
@DownArea(9,9,630,471,7);
@DownArea(80,420,500,468,7);
@SetPosition(100,430);
@FastWrite('Animacja przykÆadowa numer 5. Animacja w tek₧cie.');
@SetPosition(100,450);
@FastWrite('Uºyj te przyciski do zmiany prædko₧ci postaci ->');
@DrawButton(20,420,70,468,7,900,'koniec.rbm','');
@DrawButton(510,420,560,468,7,301,'lewo.rbm','');
@DrawButton(570,420,620,468,7,300,'prawo.rbm','');
; Stale ekranowe
@A:=10;
@B:=200;
; Stala czasowa - opoznienie ruchu postaci
@K:=50
; Procedura wykonywana cyklicznie
@GoSub:200
@DefIdleProc(2);
[2]
; Roznice w umieszczaniu na ekranie poszczegolnych faz (rysunkow)
; wynikaja z roznej ich wielkosci.
@SetPosition(%A,%B);
@Picture('C1.pcx');
@Delay(%K);
;@Clear(%A,%B,%A+100,%B+120);
@GoSub:3
@SetPosition(%A,%B);
@Picture('C2.pcx');
@Delay(%K);
;@Clear(%A,%B,%A+100,%B+120);
@GoSub:3
@SetPosition(%A,%B);
@Picture('C3.pcx');
@Delay(%K);
;@Clear(%A,%B,%A+100,%B+120);
@GoSub:3
@SetPosition(%A,%B);
@Picture('C4.pcx');
@Delay(%K);
;@Clear(%A,%B,%A+100,%B+120);
@GoSub:3
@SetPosition(%A,%B);
@Picture('C5.pcx');
@Delay(%K);
;@Clear(%A,%B,%A+100,%B+120);
@GoSub:3
@SetPosition(%A,%B);
@Picture('C6.pcx');
@Delay(%K);
@Clear(%A,%B,%A+100,%B+120);
@GoSub:3
@GoTo:100;
[3]
@A:=%A+10;
@IF (%A > 500) Then Begin
; Po wy₧wietleniu wszystkich faz niezbædny jest '@CLEAR'
@Clear(%A,%B,%A+100,%B+120);
@A:=10;
@End;
@Return;
[100]
@CheckEvents;
[200]
@LoadFont('SYSTEM.RSF');
@SetColors(0,15);
@SetPosition(0,30);
~PRZYK£AD ANIMACJI W TEKÿCIE~
@SetPosition(0,80);
Oto przykÆad procedury pozwalajåcej wykorzystywaì animacje w tek₧cie.
Animacja ta prowadzona jest na mapach bitowych. Animowanie map bitowych
polega na cyklicznym wy₧wietlaniu na ekranie kolejnych obrazów, przed-
stawiajacych poszczególne fazy ruchu postaci. W naszym przykÆadzie
ruch postaci skÆada sie z 6 faz. Symulacja ruchu uzyskiwana jest poprzez
wy₧wietlanie kolejnych faz z przesuniæciem równym 10 pikselom, to znaczy,
ºe kaºda nastæpna faza wy₧wietlana jest o 10 pikseli dalej od poprzedniej.
@SetPosition(0,350);
ZÆudzenie ruchu postaci bædzie tym lepsze, im wiæcej faz ruchu bædzie
wyswietlanych po sobie. W naszym przykÆadzie pauza pomiædzy fazami jest
regulowana klawiszami ze strzaÆkami. ~Przeanalizuj kod ªródÆowy !!!~
@Return;
[300]
@K:=%K - 10
@IF (%K <= 0) Then Begin
@K:=0
@End;
@Goto:100
[301]
@K:=%K + 10
@IF (%K >= 200) Then Begin
@K:=200
@End;
@Goto:100
[900]
@ReplaceProgram('shell.dat',1);