Commodore sayı 41, sayfa 24

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 24

POKE V+16, PEEK (V+16) OR 1 Eğer sprite 4 geçiyorsa, o zaman: POKE V+16, PEEK (V+16) OR 16 Sprite 0'ı geriye döndürürken:

POKE V* 16, PEEK (V 4 16) OR 254

Sprite'ları konumlarken dikkat edilmesi gereken başka bir nokta da ekrandan kaybolmalarını isteseniz bile sadece belli sınırlar içinde görülebilir olmalarıdır. Bu sınırlar yani sınır parametreleri gösterim boyutlarına ve sprite'ın genişletilmiş olup olmadığına göre değişir.

SPRITE HAZIRLAMA TEKNİĞİ

Sprite'lar başka bir deyişle kendi dizayn ettiğiniz özel hareket edebilir objelerdir. Dizayn işleminden sonra bilgisayar sprite'ı hareket ettirmenize, diğer sprite'lar veya grafiklerle çarpışmaları izlemenize hatta önceliklerini yani hangi sprite'ın diğerinin önünde hareket edeceğine kadar belirlemenize yardım eder.

SPRITE DİZAYNI

Herhangi bir sprite 63 bayt bellek kullanır. Bunu her sırası yanyana üç bayt'tan oluşan 21 adet sıra olarak ifade edebiliriz. Bir bayt'ta sekiz pozisyon olduğunu bildiğimizden her sırada 24 (3 bayt x 8) boşluğumuz olduğu ortaya çıkar. Yani sonuçta bir sprite 24 x 21 noktadan oluşan bir şekildir. Kareli defterlerinizden 24 x 21'lik bir kısmı işaretleyin. Bu sprite'ınızı ifade edecek bir grid olacaktır. (Şekil - 1) Şimdi grid'i her birinde 8 kare olacak şekilde 3 eşit sütuna bölen çizgilerle ayırın. (Şekil - 2) Bu çizgiler daha sonra DATA ifadeleri için gereken bayt değerlerini hesaplamakta kullanılacak. İlk sıra ve ilk sütun şimdi şu şekilde görülecektir: (Şekil - 3) Tabii diğer 62 adet grafik (bayt) de aynı bu şekilde gözükecektir. Sprite'ın istediğiniz kısımlarını işaretlemek v.b.

Sıra 1

Sıra 2

Sıra 3

Sıra 4

(Şekil - 1)

Sıra 1 İ

Sıra 2

Sıra 3

Sıra 4

(Şekil - 2)

Sıra 1

Sıra 2

Sıra 3

Sıra 4

Sıra 1

(Şekil - 3)

Sıra 2

Sıra 3 veya açmak için, 63 bayt'ın her biri için bir DATA ifadesi yazarsınız. Eğer ilk sıranın şu şekilde görünmesini istiyorsanız: (Şekil - 4) Aşağıdaki gibi bir DATA ifadesi yazmalısınız:

Sıra 4

DATA 63,255,192

Bu şekilde kareli kâğıt üzerinde sprite'ınızı dizayn edip her sprite için bilgisayarın istediği 63 bayt'ın değerlerini hesaplayın.

SPRITE'I BELLEKTE SAKLAMA

Sprite'ı çizip DATA ifadelerini hesapladıktan sonra bu data'yı belleğe POKE etmelisiniz. Sprite'ları aşağıdaki tabloda gösterilen bellek alanlarına rahatça yerleştirebilirsiniz. Bu iş için başka alanlar da kullanılabilir, ancak bu iş için bellekte yer ayırmalısınız. Bunu yapan bir rutin için 55 ve 56 adreslerine bakın. (Şekil - 5) Eğer programlarınızı saklamak için teyp kullanıyorsanız # 13, # 14 ve 15 nolu pointer'ların gösterdiği adreslerin program yüklenirken veya saklanırken kullanıldığını hatırlayın. Bu iki işlem arada saklanan sprite data'sının değişmesine neden olur. Bu işlemlerden sonra sprite'lar datalardan tekrar okunup belleğe POKE edilmelidir. Sprite datasını belleğe POKE etmek için FOR/NEXT döngüsünü kullanın; örneğin: (Program - 2)

(Şekil - 4)

SPRITE POINTER'LARINI AYARLAMA

Her sprite'ın bilgisayara sprite'ı ekrana koymak için gereken datayı nereden alacağını anlatan bir adresi vardır. Sprite pointer'ları 2040-2047

(Şekil - 5) ADRES DATA (A) 832 13 896 14 960 15 12288 192 12352 193 12416 194 12480 195 12544 196 12608 197 12672 198 arasındaki adreslerdir ve 0'dan 7'ye kadar olan sprite'lara işaret ederler. Eğer 960 nolu adresteki sprite 0 için POKE ediyorsanız o zaman:

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