Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ GraphABC ΠΈΠΌΠ΅ΡΡΡΡ ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ LockDrawing, UnLockDrawing, ΠΈ Redraw. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ½ΠΈ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΡΠ°ΡΡΡΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΡ Π±Π΅Π· ΠΌΠ΅ΡΡΠ°Π½ΠΈΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ LockDrawingObjects, UnLockDrawingObjects, ΠΈ RedrawObjects ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π° ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ ABCObjects (ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΡΡΠ°Π½ΠΈΡ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΈ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ).
Π‘ΠΎΠ²ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ABCObjects ΠΈ GraphABC
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ABCObjects ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ GraphABC. ΠΡΠΈ ΡΡΠΎΠΌ, Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ABCObjects ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΠ½Π΅ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ GraphABC. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ABCObjects:
FillWindow('aqua.jpg');
c := new CircleABC(100,100,50,clGreen);
RectangleABC(300,300,100,50,clBlue);
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ABCObjects ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ GraphABC, ΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ABCObjects Π±ΡΠ΄ΡΡ Π·Π°ΡΠΈΡΠ°ΡΡΡΡ. ΠΠ»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ½ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ABCObjects, Π»ΠΈΠ±ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ RedrawObjects, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π²ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.
ΠΠΎΠ΄ΡΠ»Ρ ABCSprites
ΠΠΎΠ΄ΡΠ»Ρ ABCSprites ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠΏΡΠ°ΠΉΡΡ - Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅Π½ΡΡΡΠΈΠΌΠΈΡΡ ΠΊΠ°Π΄ΡΠ°ΠΌΠΈ. Π‘ΠΏΡΠ°ΠΉΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ SpriteABC ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡΡ ΠΌΡΠ»ΡΡΠΈΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ MultiPictureABC, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π΄Π²ΡΠΌΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ:
1. Π‘ΠΏΡΠ°ΠΉΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π°Π½ΠΈΠΌΠΈΡΡΡΡΡΡ Π² ΡΠΈΠΊΠ»Π΅, ΡΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ. ΠΠΎΠΆΠ½ΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΏΡΠ°ΠΉΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ/Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²ΡΠ΅ ΡΠΏΡΠ°ΠΉΡΡ.
2. Π‘ΠΏΡΠ°ΠΉΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ Π½Π°Π±ΠΎΡ ΠΊΠ°Π΄ΡΠΎΠ², ΠΌΠ΅Π½ΡΡΡΠΈΡ ΡΡ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΠ΄ΡΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΈ ΠΊΠ°Π΄ΡΠ°, Π° Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π‘ΠΈΠ΄Π΅ΡΡ - ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Π΄Ρ (Π² ΡΡΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ). ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π²ΡΠ΅Ρ ΡΠΏΡΠ°ΠΉΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΊΠ»ΡΡΠΈΡΡ/Π²ΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ:
procedure StartSprites;
Π‘ΡΠ°ΡΡΡΠ΅Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π²ΡΠ΅Ρ ΡΠΏΡΠ°ΠΉΡΠΎΠ²
procedure StopSprites;
ΠΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π²ΡΠ΅Ρ ΡΠΏΡΠ°ΠΉΡΠΎΠ²
ΠΠ»Π°ΡΡ SpriteABC
ΠΠ»Π°ΡΡ SpriteABC ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° MultiPictureABC ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π‘ΠΏΡΠ°ΠΉΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π°Π½ΠΈΠΌΠΈΡΡΡΡΠΈΠΉ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ². Π‘ΠΏΡΠ°ΠΉΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ².
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° SpriteABCconstructor Create(x,y: integer; fname: string);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠΏΡΠ°ΠΉΡ, Π·Π°Π³ΡΡΠΆΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ fname. ΠΠΌΡ fname ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΏΡΠ°ΠΉΡΠ° Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .spinf. ΠΡΠ»ΠΈ ΠΈΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΏΡΠ°ΠΉΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ°Π΄ΡΠΎΠΌ. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ°Π΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Add. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ AddStates ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ CheckStates. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .spinf, ΡΠΎ ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ°Π΄ΡΠ°Ρ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΡ ΡΠΏΡΠ°ΠΉΡΠ° ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΡΠ°ΠΉΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (x,y)
constructor Create(x,y,w: integer; fname: string);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠΏΡΠ°ΠΉΡ, Π·Π°Π³ΡΡΠΆΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π° fname. Π€Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ°Π΄ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ°Π΄Ρ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΡΠΈΡΠΈΠ½Ρ w. ΠΡΠ»ΠΈ ΡΠΈΡΠΈΠ½Π° ΡΠΈΡΡΠ½ΠΊΠ° Π² ΡΠ°ΠΉΠ»Π΅ fname Π½Π΅ ΠΊΡΠ°ΡΠ½Π° w, ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ AddStates ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ CheckStates ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΡΠ°ΠΉΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (x,y)
constructor Create(x,y,w: integer; p: Picture);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠΏΡΠ°ΠΉΡ, Π·Π°Π³ΡΡΠΆΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° p: Picture. ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ°Π΄ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ°Π΄Ρ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΡΠΈΡΠΈΠ½Ρ w. ΠΡΠ»ΠΈ ΡΠΈΡΠΈΠ½Π° ΡΠΈΡΡΠ½ΠΊΠ° Π½Π΅ ΠΊΡΠ°ΡΠ½Π° w, ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ AddStates ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ CheckStates. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΡΠ°ΠΉΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (x,y)
constructor Create(g: SpriteABC);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠΏΡΠ°ΠΉΡ - ΠΊΠΎΠΏΠΈΡ ΡΠΏΡΠ°ΠΉΡΠ° g
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠ»Π°ΡΡΠ° SpriteABCproperty StateName: string;
ΠΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ
property State: integer;
ΠΠΎΠΌΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ (ΠΎΡ 1 Π΄ΠΎ StateCount)
property StateCount: integer;
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ. Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅
property Speed: integer;
Π‘ΠΊΠΎΡΠΎΡΡΡ ΡΠΏΡΠ°ΠΉΡΠ° (1..10)
property Active: boolean;
ΠΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠΏΡΠ°ΠΉΡΠ°: True, Π΅ΡΠ»ΠΈ ΡΠΏΡΠ°ΠΉΡ Π°ΠΊΡΠΈΠ²Π΅Π½ (Ρ.Π΅. ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ), ΠΈ False Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅
property Frame: integer;
Π’Π΅ΠΊΡΡΠΈΠΉ ΠΊΠ°Π΄Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ
ΠΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° SpriteABCprocedure AddState(name: string; count: integer);
ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊ ΡΠΏΡΠ°ΠΉΡΡ. ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ CheckStates
procedure CheckStates;
ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π½Π°Π±ΠΎΡΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ. ΠΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ
procedure SaveWithInfo(fname: string);
Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ»Ρ ΡΠΏΡΠ°ΠΉΡΠ°. ΠΠΌΡ fname Π·Π°Π΄Π°Π΅Ρ ΠΈΠΌΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠΎΡ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΡΠΎ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .spinf
procedure NextFrame;
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΊΠ°Π΄ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ
procedure NextTick;
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠΈΠΊΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°; Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠ°Π²Π΅Π½ ticks, ΡΠΎ ΠΎΠ½ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ Π² 1 ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ NextFrame
function FrameCount: integer;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ
function FrameBeg: integer;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°Π΄Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ
function Clone: SpriteABC;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»ΠΎΠ½ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π‘Π²ΠΎΠΉΡΡΠ²Π°, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° MultiPictureABCproperty CurrentPicture: integer;
ΠΠΎΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ°
property Count: integer;
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΡΠ½ΠΊΠΎΠ² Π² Π½Π°Π±ΠΎΡΠ΅
ΠΠ΅ΡΠΎΠ΄Ρ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° MultiPictureABCprocedure Add(fname: string);
ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΊ ΡΠΏΡΠ°ΠΉΡΡ, Π·Π°Π³ΡΡΠΆΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π° fname. Π ΠΈΡΡΠ½ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ, ΡΡΠΎ ΠΈ Π²ΡΠ΅ ΡΠΈΡΡΠ½ΠΊΠΈ ΠΈΠ· Π½Π°Π±ΠΎΡΠ°
procedure ChangePicture(fname: string);
ΠΠ΅Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ² Π½Π° Π½Π°Π±ΠΎΡ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ°, Π·Π°Π³ΡΡΠΆΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ fname
procedure ChangePicture(w: integer; fname: string);
ΠΠ΅Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ² Π½Π° Π½Π°Π±ΠΎΡ, Π·Π°Π³ΡΡΠΆΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ fname. Π€Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΡΠΈΡΠΈΠ½Ρ w
procedure NextPicture;
Π¦ΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠΈΡΡΠ½ΠΊΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ°
procedure PrevPicture;
Π¦ΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΠ΅ΠΌΡ ΡΠΈΡΡΠ½ΠΊΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ°
function Clone: MultiPictureABC;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»ΠΎΠ½ Π½Π°Π±ΠΎΡΠ° ΡΠΈΡΡΠ½ΠΊΠΎΠ²
Π‘Π²ΠΎΠΉΡΡΠ²Π°, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° ObjectABCproperty Left: integer;
ΠΡΡΡΡΠΏ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΡ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΊΡΠ°Ρ
property Top: integer;
ΠΡΡΡΡΠΏ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΊΡΠ°Ρ
property Width: integer;
Π¨ΠΈΡΠΈΠ½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property Height: integer;
ΠΡΡΠΎΡΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property dx: integer;
x-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° Π²Π΅ΠΊΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° Move. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² 0. ΠΠ»Ρ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ
property dy: integer;
y-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° Π²Π΅ΠΊΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° Move. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² 0. ΠΠ»Ρ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ
property Center: Point;
Π¦Π΅Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property Position: Point;
ΠΠ΅Π²ΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ³ΠΎΠ» Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property Visible: boolean;
ΠΠΈΠ΄ΠΈΠΌ Π»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ
property Color: GColor;
Π¦Π²Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property FontColor: GColor;
Π¦Π²Π΅Ρ ΡΡΠΈΡΡΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property Text: string;
Π’Π΅ΠΊΡΡ Π²Π½ΡΡΡΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property TextVisible: boolean;
ΠΠΈΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΠ° Π²Π½ΡΡΡΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°