C64 Türkiye sayı 6, sayfa 21

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 21

SPRITE’LARIN ÇARPIŞMASI

VIC’in en ilginç özelliklerinden birisi de sprite-sprite ve sprite-background çarpışmalarını kontrol edebilmesidir. Bir çarpışmanın olabilmesi için bir sprite’ın “1” olan kısmı ile başka bir sprite’ın veya karakterin “1” olan kısmının çakışması gerekir.

VIC’in $D01E adresi sprite-sprite çarpışmasını, $D01F adresi sprite-background çarpışmasını kontrol eder. Eğer bir bit “1” ise çarpışma olmuş demektir.

SPRITE DEMO PROGRAM

Buraya kadar teorik olarak sprite’lar hakkında bilgi sahibi olduk. Şimdi bir program ile bu öğrendiklerimizi pratik olarak gerçekleştireceğiz. Fakat bu programda çarpışma kontrolünü ve çok renkli sprite’lar için renk değiştirme işlemlerini yapmayacağız. Sprite’larımız içi kapalı kare şeklinde olacaktır. Ekrandaki sprite’lar 1’den 8’e kadar numaralandırılmıştır. Önce seçmek istediğiniz sprite’ın numarasına basın. Sonra sprite özelliklerini değiştirin. Sprite background önceliğini sprite’ı hareket ettirmeden değiştirin. “D” tuşu ile sprite eski yerine yerleştirilir. Özellikler eski değerlerine gelir.

TUŞ ÖZELLİK

X X yönünde genişletir/normale döndürür. Y Y yönünde genişletir/normale döndürür. C Sprite rengini değiştirir. P Sprite-background önceliğini belirler. D Default değerleri geri yükler. O Sprite on/off kontrolü. E EXB’yi açar/kapatır. CURSOR SAĞ X ekseninde koordinat değerini 1 arttırır. Sprite sağa hareket eder. CURSOR SOL X ekseninde koordinat değerini 1 azaltır. Sprite sola hareket eder. CURSOR AŞAĞI Y ekseninde koordinat değerini 1 arttırır. Sprite aşağı hareket eder. CURSOR YUKARI Y ekseninde koordinat değerini 1 azaltır. Sprite yukarı hareket eder.

*=$0801

.word nextline .word 2004 ; 2004 .byte $9e ; SYS .text "2061" ; 2061 .byte 0 ; komutu nextline .word 0

lda #$0c jsr $e536 ldx #$00 stx $d020 stx $d021 lda #$ff ldata sta sdata,x inx cpx #$3f bne ldata ldx #$00 lkoor lda koor,x sta $d000,x inx cpx #$10 bne lkoor ldx #$00 ldy #$01 lcolor lda select,x sta $d027,x sta $0400,y

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