home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 32 / Flop_Magazin_32_1994_06_Raster_cs_Side_B.atr / sirvys.cap < prev    next >
Text File  |  2023-02-26  |  5KB  |  2 lines

  1. ¢Tvorba animac) - rychl* grafika¢Radek ③t%rba, RASTER 1995.1¢¢Ka(d`, kdo n%kdy zkou&el naprogramovat n%co v ╱Turbo$BASICU v grafick[m mdu, narazil jist% na probl[m s rychlost). Pokud chcete prov[st na obrazovce n%jakou grafickou animaci, bude to asi p@)li( pomal[.¢Tak(e pro V*s, kte@) pot@ebujete rychle vykreslit na dan[ m)sto n%jak` grafick` objekt, je ur'en n*sleduj)c) text:¢¢Dvojice strojov`ch podprogram+ ╱soubor SIRVYS.OBJ$, kter[ jsem pro V*s vyrobil, jsou po nahr*n) um)st%ny v 6. str*nce pam%ti. Volaj) se z Basicu ╱'i z TB$ takto:¢¢Tisknut) obrazu na obrazovku:¢¢A=USR╱1536,ODK,SIR,VYS,X,Y$¢¢1536 .. startovac) adresa podprogramu pro tisk¢ODK .. m)sto v pam%ti RAM, od kter[ho m*te ulo(ena grafick* data dan[ho objektu¢SIR .. &)@ka grafick[ho objektu ╱ud*v* se v bytech$¢VYS .. v`&ka grafick[ho objektu ╱ud*v* se v bodech$¢X .. x-ov* sou@adnice um)st%n) objektu na obrazovku ╱v bytech$¢Y .. y-ov* sou@adnice ╱v bodech$¢¢Ulo(en) obsahu '*sti obrazovky do pam%ti:¢¢A=USR╱1539,KAM,SIR,VYS,X,Y$¢¢1539 .. startovac) adresa podprogramu pro vyfocen) '*sti obrazu¢KAM .. m)sto v pam%ti RAM, od kter[ho budou ulo(ena data grafick[ho objektu le()c)ho na dan[m m)st% obrazovky¢SIR .. &)@ka grafick[ho objektu ╱ud*v* se v bytech$¢VYS .. v`&ka grafick[ho objektu ╱ud*v* se v bodech$¢X .. x-ov* sou@adnice m)sta na obrazovce ╱v bytech$¢Y .. y-ov* sou@adnice ╱v bodech$¢¢Pozn.:¢⑤daj "v bytech" znamen* v r+zn`ch grafick`ch mdech r+zn` po'et bod+:¢¢Gr.md: Bod+ na byte: Byt+ na 1 @*dek:¢   0        1             40¢   1        1             20¢   2        1             20¢   3        4             10¢   4        8             10¢   5        4             20¢   6        8             20¢   7        4             40¢   8        8             40¢   9        2             40¢  10        2             40¢  11        2             40¢  12        1             40¢  13        1             40¢  14        8             20¢  15        4             40¢¢P@.¢V GR.15 je 1 byte = 4 bod+m, a tedy parametr X bude ud*vat po'et "'tve@ic". Skute'n* x-ov* sou@adnice = X✓4 . Na jeden @*dek je 40 byt+, proto parametr X m+(e b`t zad*n v rozsahu 0 a( 39. Omezen) na "'tve@ice" bod+ ╱obecn% na n-tice$ plat) obdobn% i pro &)@ku grafick[ho objektu.¢¢Pro ur'en) m)sta v pam%ti, kam je mo(n[ ulo(it nafocen[ pozice ╱parametr KAM$, je nutn[ zjistit za'*tek a konec voln[ pam%ti. Za'*tek najdeme zji&t%n)m obsahu adres 144,145 ╱dvoubytov* hodnota; ?DPEEK╱144$$, konec na adres*ch 741,742 ╱tak[ dvoubytov* hodnota$. P@itom mus)te br*t neust*le v ]vahu, (e prodlu(ov*n)m ╱T$Basicovsk[ho programu se za'*tek voln[ pam%ti posunuje. Rovn%( DIMenzov*n) pol) a @et%zc+ m* stejn` ]'inek. Na horn) mez voln[ho prostoru m* vliv pou(it` grafick` md - doporu'uji vyzkou&et aktivaci po(adovan[ho mdu, a pak zjistit DPEEK╱741$. Pam%④ mezi takto zadefinovan`m za'*tkem a koncem m+(ete pou()t pro vlastn) pot@ebu.¢Velikost pot@ebn[ pam%ti pro n%jak` gr. objekt zjist)te vyn*soben)m jeho &)@ky a v`&ky ╱SIZE=SIR✓VYS$. Pokud tedy chcete zaznamenat v)ce objekt+, je v(dy nutno posunout parametr KAM o velikost p@edt)m zaznamenan[ho objektu, jinak dojde k jeho p@ekryt) nov`m.¢¢Pokud m*te nafoceny z obrazovky n%jak[ objekty, m+(ete si je ulo(it na z*znamov[ m[dium a pozd%ji u( p@)mo z tohoto m[dia na')st. Vyu(it)m tohoto zp+sobu odpad* nutnost vykreslovat a nafocovat na za'*tku programu grafick[ objekty, kter[ pak budou v programu pou()v*ny. Zp+sob s na'ten)m grafick`ch dat objekt+ ze z*znamov[ho m[dia je elegantn%j&) a &et@) pam%④, kterou by pot@eboval vlastn) ╱T$BASIC progam na operace spojen[ s vykreslov*n)m a nafocov*n)m t%chto objekt+.¢¢P@.¢¢GR.8¢REM Namalov*n) 3 grafick`ch objekt+¢...¢REM Nafocen):¢REM 1.objekt 5x30 z m)sta 0,0 ulo(it do pam%ti od adr. 30000¢A=USR╱1539,30000,5,30,0,0$¢¢REM 2.objekt 7x50 z m)sta 10,30 ulo(it do pam%ti od adr. 30150 ╱velikost p@edchoz)ho objetu = 5✓30 = 150 ; 30000⇩150=30150$¢A=USR╱1539,30150,7,50,10,30$¢¢REM 3.objekt 4x16 z m)sta 20,50 ulo(it od adr. 30500 ╱=30150⇩7✓50$¢A=USR╱1539,30500,4,16,20,50$¢¢REM Posledn) ukl*dan` objekt kon') na adrese 30500⇩4✓16 = 30564. Velikost v&ech t@) objekt+ je 30564-30000=564 byt+.¢¢REM Ulo(en) na z*znamov[ m[dium:¢OPEN#1,8,0,"D:NAZEV"¢BPUT#1,30000,564¢CLOSE#1¢¢END¢¢¢A( budete tyto objekty pot@ebovat v n%jak[m programu, na jeho za'*tku data na'tete:¢¢OPEN#1,4,0,"D:NAZEV"¢BGET#1,30000,564¢CLOSE#1¢¢REM ...a pak je m+(ete tisknout ¢A=USR╱1536,30000,... $¢A=USR╱1536,30150,... $¢A=USR╱1536,30500,... $¢¢END¢¢¢NEZAPOME
  2. TE:¢Samoz@ejmost) je, (e v ka(d[m programu, ve kter[m chcete tyto strojov[ podprogramy pou()vat, mus)te ╱nejl[pe n%kde hned na za'*tku$ zajistit jejich na'ten) p@)kazem BLOAD"D:SIRVYS.OBJ".¢¢Pro snaz&) pochopen) jsem napsal program v TurboBasicu, ve kter[m jsou uk*z*na n%kter* mo(n* vyu(it) t%chto strojov`ch podprogram+.¢