dolaşmakta. Çözünürlük oldukça yüksek, ancak çok yakından bakılın- ca pürüzler görünüyor; yoksa elle çi- zilmiş çizgi filmden farkı yok. Animasyon olayı, animasyonda yer alacak cisimlerin listesini işleye- cek bazı altprogramları çağırarak gerçekleşiyor. Animasyon sistemin- de, asıl eleman GEL (graphic ele- ment — grafik elemanı) adını taşıyor. Dört tip GEL sözkonusu, bunlar VS5prites, BOBs, AnimComps, ve AnimObjs adlarını alıyorlar. VSprite “virtual sprite” deyiminin kısaltılmışı; anlamı ise suni sprite, VSprite hafızada belli bir yer kapla- yan, normal sprite'larla gerçekleşti- rilen, animasyon altprogramları tara- fından kumanda edilen özel bir veri yapısı. Bazı sınırlamalara uymak ko- şuluyla, bir ekranda sekizden fazla VSprite tanımlayabiliyoruz. Bu ara- da meydana çıkan, veri yapılarını ve bunlara ait göstergeçleri yenileme gibi işlemleri animasyon rutinleri otoma- tik olarak hallediyor. VSprite'lar da normal sprite'lar gibi, sadece ekranın belli bir bölgesinde görünebiliyor. BOB “blitter object” deyiminin kı- saltılmışı olup, anlamı blitter'in ya- rattığı ve sprite gibi davranan cisim. Burada beliren başlıca fark, BOB'un görüntü alanının üstüne çizilmesi ve (isteğe bağlı olarak) alt tarafta kalan bilginin saklanabilmesi. Veri yapısı olarak da VSprite'lara benzeyen BOB'ların VSprite'lara göre başlıca üstünlüğü, BOB'un doğrudan görün- tü alanının bir parçası haline gelme- si. Bu da BOB'larda 32 renge kadar kullanmayı mümkün kılıyor. Bundan başka, bir BOB'un boyutları için hiç bir sınırlama sözkonusu değil. Fakat istenirse, BOB'lar da, ekranın sade- ce belli bir bölgesinde görünmek üze- re sınırlanabilir. AnimComp kelimesi “animation component” deyiminin kısaltılmışı; anlamı ise animasyon parçacığı. Bu parçacık, AnimObj (animation ob- ject) yani animasyon cisminin bir parçası. Çok mu karışık oldu?.. Bir örnek verelim: Diyelim ki animasyon cismimiz (AnimObj) yürüyen bir in- san; bunun animasyon parçacıkları (AnimComp) ise, gövde, kafa, iki kol ve iki bacak ile ilgili şekilleri içeren BOB'lar olacaklar. Her iki animas- yon parçacığı sözkonusu bölgenin birkaç görüntüsünü içerir. (Örneğin; bükülmüş kol, düz kol). Tabii ki, bir cismin değişik görüntülerinden bah- sedebiliyorsak, bu değişik görüntüle- rin birbirleriyle bağlanabilmeleri için belli zaman'dilimleri geçmesi gereki- yor. Böylece, bu değişik görüntülerin birbirini takip etmesi sağlanıyor. Seguenced drawing animation, canlandırması yapmak da mümkün. Burada, tekrarlı görüntüler listesi ve her tekrardan sonra cismin pozisyo- nuna eklenecek ofset (hareket mikta- rı) belirtilir. Bir örnekle görelim: Di- yelim ki bir kedinin soldan sağa doğ- ru yürüyüp giderken altı değişik po- zunu çizdik. Fakat, bunlardan birbi- rine geçişini öyle güzel ayarladık ki 1'den 6'ya kadar gösterdikten sonra tekrar 1'e dönünce doğal geliyor. Böylece, bir hareket periyodu belir- lemiş olduk. Bundan başka her peri- yoöd geçişinde pozisyonda oluşacak değişikliği (bu örnek için sağa doğru belli bir miktar) belirledik mi, ani- masyon rutinleri bu altı değişik gö- rüntüyü peşpeşe geçişli olarak çizip, verilmiş ofseti de değerlendirerek kendimizi ekranın en solundan baş- layıp en sağına yürümesini sağlar. Bir başka animasyon modu da mo- tion control animation. Burada BOB'un yeni pozisyonu, o andaki pozisyonu, x- ve y- yönündeki hız ve ivmelerinden hesaplanıyor. Bunlardan başka bir rutini de an- latalım. Adı DoCollision. Yaptığı iş- lem BOB'larla ilgili iki türlü görün- tü çarpışmasını farkedebiliyor. Bu çarpışma tipleri, GEL ve GEL çarpış- ması ve GEL ile belirlenmiş bir sını- rın çarpışması olabiliyor. Bu rutin, bu çarpışmaları farkettikten sonra el- de edilen bilgileri değerlendirmek üzere 16 adet collision-handling (çar- pışma değerlendirmesi) altprogra- mından birde birini çağırıyor. GEL'- ler değişik şekillerde kodlanarak, sa- dece istenilen tipte çarpışmaların al- gılanması sağlanabiliyor. Örneğin bir oyun programında, füze-hedef çar- pışmasını algılamak, fakat füze-füze çarpışmasını algılamamak gibi... 17. YAZILAR AMIĞA, yazıları da bir tür grafik olarak değerlendiriyor. Yazı font'ları özel bir veri yapısı olarak saklanır ve yazının istenen her yükseklikte ve is- ter sabit aralıklı, ister orantılı aralıklı Ü, | gibi harfleri daha sıkışık yazmak gibi) yazılmasını mümkün kılar. Her - bir font'ta 1'den 255'e kadar karak- ter tanımlanabilir. Tanımlanan ka- rakter sayısı sabit olmadığı için bu da bir parametre. AMIGA'nın ROM'- unda iki font sabit olarak bulunuyor. Bunlar Topaz 8 ve Topaz 9 fontları. Topaz &, düşük çözünürlükte 40, yüksek çözünürlükte 80 karakteri sa- © tir başında görünmesini sağlıyor. Di- ğer fontta ise bu rakamlar 32 ve 64. < Gereken diğer fontlar istenirse RAM'e yüklenebiliyor veya işi bitti- Binde atılabiliyor. ROM'da bulunan Text adlı rutin, gönderilen mesajın ekranın istenen bölgesine yazılmasını sağlıyor. Yazı yazma işlemi üç değişik biçimde ger- çekleşebiliyor. Birincisi, karakterin belirtilmiş karakter rengiyle yazılma- —sı. İkincisi, karakterin kendisini bir renkle ve o karakterin arka planını da özel bir renkle yazıyor. Üçüncü mod ise komplementi alarak yazıyor. Ya- ni karakterin her noktası kendi arka- sına gelen noktanın içeriğini değişti- riyor (EXOR işlemi). Apple Macintosh'ta da olduğu gi- bi, AMIĞA'da da fontlar birkaç de- ğişik stilde kullanılabiliyor. Bu stil- ler şunlar: altını çizme (underline), yatık (italic), kalınlaştırma (boldfa- ce), genişletme (extended). Fakat Ma- cintosh'dan farklı olarak, bir stil kul- lanılacağı zaman önce font dosyasın- da aranıyor. Şayet bulunamazsa Ma- cintosh'daki yöntem uygulanıyor ve o stil standart karakter setinden bir- kaç özel algoöritma yardımıyla üreti- liyor. 18. SES DONANIMI Başta da belirttiğimiz gibi, AMI- GA dört adet, DMA kontrollü seş kanalı içeriyordu. Bu ses kanalları 68000 ana işlem ünitesinden bağım- 37