Commodore sayı 8, sayfa 61

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 61

Figürler, tamamen grafik elemanları oldukları için, ne 40 karakter modunda ne de 80 karakter modunda görüntülenebiliyor. Bunların görüntülenebildiği tek mod, grafik modu. Örneğin “SSHAPE A$, 100, 100, 150, 120” ile, üst sol köşesi (100, 100) ve alt sağ köşesi (150, 120) olan yüksek çözümlemeli bir dikdörtgenin içeriği, A$ zincir değişkenine yerleştirilir. “GSHAPE A$,X,Y” ile, A$'de bulunan grafik bilgisi yeniden X,Y grafik pozisyonunda ekrana getirilir. Grafik nesnelerin gösterimi açısından bu figürler, Yaratıkların yanısıra, ikinci, verimli bir olanak oluşturuyorlar. Ayrıca C-128'in yüksek bellek kapasitesiyle bağlantılı olarak, yüksek çözümlemeli oyunlar için de yeni olanaklar sunuyorlar.

Entegre Edilmiş

Sprite Editörü

BASIC 7.0, istenen Yaratığın nokta tasarımını doğrudan ekran-

Software düzeyinde üretilebilen figürlerin (shapes) taslağı C-16'nın BASIC 3.5'inden alındı. Bunlar, zincir değişkenlerine saklanabilen ve buradan alınarak yine ekrana getirilebilen yüksek çözümlemeli veya renkli dört köşeli kesitler. Figür yaratma olanağı veren entegre bir sprite editörü içeriyor. SPRITE komutuyla, her Yaratık için şu karakteristikler verilebilmekte: Hareket, renk, öncelik, X ve Y yönünde genişleme ve mod (yüksek çözümleme veya renkli).

Örneğin, “SPRITE 4,41,6,1,1,0,0“ ile 4 no.lu Yaratık harekete geçirilir (4). Yaratık yeşil renkte görüntülenir (1), daha önce verilmiş olan ekran verilerine göre önceliği vardır (4), X yönünde genişlemiştir (1). Y yönünde genişlememiştir (0) ve yüksek çözümleme modunda görüntülenmektedir (0). Bunun tersine, daha önceden tanımlanmış bir Yaratığın karakteristiklerini belirlemek için, RSPRITE fonksiyonu kullanılabilir. SPRSAV komutuyla, bir Yaratığın dataları bir zincir değişkenine yerleştirilebilir veya tersine, bir zincirden okunabilir. Yaratığın yönetilmesi, bir Yaratığı ekranın belirli bir noktasına yerleştirmeye yarayan MOVESPR komutlarıyla gerçekleşir. Ekrandaki konum mutlak koordinatlar olarak verilebildiği gibi, daha önceki bir konuma göreceli olarak da verilebilir. Bundan başka, 1 ila 15 arasında bir sayı değeri olarak bir hız verildiğinde, Yaratık otomatik olarak verilen yeni konuma kayar. Koordinat verilerinin önüne artı veya eksi işareti konularak, mutlak koordinatlar göreli koordinatlara dönüştürülür. Belirli bir hız verilmediği takdirde, Yaratık hemen yeni yerinde belirir. “MOVESPR 7, -30, -40” 7. Yaratığı anında 30 nokta sola ve 40 nokta yukarı aktarır. C-64'te PEEK yapılarak, VIC'in çarpışma registerinde bir Yaratığın diğer bir Yaratıkla veya fon verileriyle çarpışıp çarpışmadığı saptanır. Bir Yaratık/Yaratık veya Yaratık/Fon çarpışması durumunda, bu komutla programın otomatik olarak kesilmesi programlanabilir. Örneğin “COLLISION 1,500“ün anlamı şudur: Programın akışı sırasında bir Yaratık/Yaratık çarpışması gerçekleşirse (1), BASIC programı kesilir ve 500. satırdan itibaren sürdürülür. RETURN'dan sonra program kesildiği noktadan devam eder. COLLISION ve bir BASIC programının yükünü Yaratık yönetimi açısından oldukça hafifleten son derece yararlı komutlardır. Bir Yaratığı ekranda çapraz hareket ettirmek için, C-64'te bir FOR...NEXT döngüsüyle çalışılması gerekir; bunun yanısıra çarpışmaları belirlemek için VIC'in çarpışma registerinde sürekli olarak PEEK yapmak gereklidir. C-128'de ise interrupt yönetimli çalışan iki komut yeterlidir. Bunlar sayesinde BASIC programı, Yaratıkların hareketi sırasında çalışmaya devam eder, fakat herhangi bir Yaratık çarpışması durumunda hızlı biçimde reaksiyon göstermek için otomatik olarak kesilir.

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