Commodore sayı 60, sayfa 45

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 45

Dikdörtgen

SA SANS NE SEV CERAN

SNBE AAA 33838 ea DD ANAN NE SERE NR NE

NE ER HARE MENE ENES NE EE RS RR NE

#38 OLAR

Desenli dikdörtgen çizilirken gri alan maskelenecek

(şekilde olduğu gibi) dikdörtgen sınırlarıyla kart sınırları arasında kalan bölge (şekilde koyu gri olarak görünen kısım) üzerinde hiçbir işlem yapılmaz ve deseniniz tamamen desen sınırları içerisine yerleştirilir. Desenli çizimler yapmak için kullanabileceğiniz rutinler şunlardır: - 1) SetPattern (DesenAyarla)-$C139 * Fonksiyonu: Sistem desen kartını ayarlar. * Gerekli hazırlık: a- desen numarası (0-33) * Dönüş değerleri: $22-$23 desen baytlarının saklandığı adres * Bozulan değerler: a * Açıklama: Hazırda bulunan 33 sistem deseninden birinin seçilmesini sağlar. Bu desenler, GeoPaint desenlerinin aynısıdır. Yani kaç numaralı desenin neye denk geldiğini buradan öğrenebilirsiniz. Desenin data baytlarına $22-$23 adreslerinde bulunan adresi kullanarak erişebilir, $22-$23'e kendi deseninizin adresini koyarak istediğiniz desenin kullanılmasını sağlayabilirsiniz. Bu desen tüm şekil içi dolduran kernal rutinlerince kullanılacaktır. 2) Rectangle (Dikdörtgen) - $C124 i-Rectangle - $C19F * Fonksiyonu: Seçilen deseni kullanarak bir dikdörtgen çizer. * Erişim: displayBufferOn bit 7 - 1 ise ana ekrana yaz bit 6 - 1 ise tampon ekrana yaz * Gerekli Hazırlık: r2L - dikdörtgenin üst y koordinatı (0-199) r2H - dikdörtgenin alt y koordinatı (0-199) r3 - dikdörtgenin sol x koordinatı (0-319) r4 - dikdörtgenin sağ x koordinatı (0-319) * Inline çağırım: Jsr komutundan hemen sonra;

.byte üstkenar .byte altkenar .word solkenar .word sağkenar * Bozulan değerler: a, x, y, r5-r8, r11 * Açıklama: Verilen koordinatlara bir dikdörtgen çizer. Bu dikdörtgenin içinde sistem deseni bulunur ve dikdörtgenin çevresinde çerçeve bulunmaz. Eğer çerçeve istiyorsanız bu rutini çağırdıktan sonra çerçeve çizmeniz gerekir, çünkü bu rutin önceden çizilen bir çerçeveyi silecektir. 3) FrameRectangle (ÇerçeveÇiz) - $C127 i-FrameRectangle - $C1A2 * Fonksiyonu: koordinatı belirtilen bir dikdörtgenin çevresine çerçeve koyar. * Erişim: displayBufferOn bit 7 - 1 ise ana ekrana yazar bit 6 - 1 ise tampon ekrana yazar * Gerekli hazırlık: a - GEOS desen baytı (yatay-dikey çizgiler için) r2L - dikdörtgenin üst y koordinatı (0-199) r2H - dikdörtgenin alt y koordinatı (0-199) r3 - dikdörtgenin sol x koordinatı (0-319) r4 - dikdörtgenin sağ x koordinatı (0-319) * Inline çağırım: Jsr komutundan hemen sonra; .byte üstkenar .byte altkenar .word solkenar .word sağkenar * Bozulan değerler: a, x, y, r5-r9, r11 * Açıklama: a registerine çizginin

1 Kart

.desen baytını verin. (Çizginin desen baytı hakkında ayrıntılı bilgiyi geçen sayımızda bulabilirsiniz.) Bu rutinle, istediğiniz bir dikdörtgenin çevresine herhangi bir desen kullanarak çerçeve koyabilirsiniz.

4) RecoverRectangle (Dikdörtgen Al) - $C12D i-RecoverRectangle - $C1A5 * Fonksiyonu: Tampon ekrandan bir dikdörtgen ana ekrana kopyalar. * Gerekli Hazırlık: r2L - dikdörtgenin üst y koordinatı (0-199) r2H - dikdörtgenin alt y koordinatı (0-199)

Klavyeyle gezinmek için ← ve → tuşları.