APPLICATIONSPROGRAMMATION ★ SPRİTE İLE HAREKETLENDİRME

XOR-Sprite (Sizin Amstrad)Applications Programmation
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Hemen hepimiz bir oyunla oynarken “Keşke ben de bir oyun programlayabilseydim”, demişiz-dir. Ama her zaman karşımıza, BASIC dilinde hareketli grafik yapmanın imkânsızlığı çıkmıştır.

Artık böyle bir sorununuz olmayacak, çünkü aşağıdaki satırları yazınca, Amstrad'ınızın da SPRİTE'ları olacak. Sprite, kullanıcı tarafından tamamlanan, ekranda istenildiği gibi yönetilebilen renkli objelere denir.

Program istenen büyüklükte sekiz tane renkli sprite tanımlaya-bilmenizi sağlar. Basic'e on yeni komut kattığından kullanımı çok kolaydır. Ayrıca sprite'ların şeklini değiştirmek de basit olduğundan canlı hareketler elde edilebilir, örneğin tekme atan karateciler, kılıçlarıyla dövüşen şövalyeler, bisiklete binen çocuklar yaratmak bu program sayesinde imkânsızlıktan çıkacaktır. Ekranda aynı anda sekiz yarışçı koşabilir, engellerden atlayabilir. Artık gerisi sizin resim kabiliyetinize ve yaratıcılığınıza kalıyor. Ayrıca beğendiğiniz oyunlardaki sprite'ları da kopya edebilirsiniz.

Bu sayıda size ana program ve bir de sprite'ların kullanımını gösteren bir demo programı veriyoruz. öbür sayımızda ise sprite tanımlamaya yarayan bir program vereceğiz. Komutların ayrıntılı açıklamaları da yine bir sonraki sayımızda olacak.

SPRİTE DÜNYASINA GİRİYORUZ

Program basic'e on tane RSX komutu katar:

|DEFINE, |SPRITE, |LEFT , |RIGHT, |UP , |DOWN, |CLOTH , |DRESS , |MOVE ve |LEAVE.

İşe önce ilk programı yazmakla başlayın (Programın uzunluğu umudunuzu kırmasın). Ondan sonra programı kaydedin ve RUN yazın. Program dataları kendi kontrol eder ve eğer varsa yanlış olan satırın numarasını söyler. Size yalnız hatayı düzeltip yeniden çalıştırmak kalır. Datalar tamamen doğruysa sizden disc drive'ı hazır etmenizi ister ve bir tuşa basınca yüklediği machine code programı “SPRİTE” adı altında binary olarak kaydeder.

Artık program kullanılabilir haldedir. Şimdi sprite'ların ilk örneğini görmek için demo programını yazabilirsiniz. Programı çalıştırmadan önce “SPRİTE" adlı file'ın bulunduğu disketi disc drive'a takın. Daha sonra RUN yazın. Ekranda kanat çırpıp havada kalmaya çalışan bir kuş belirecektir. Kuşu cursor tuşlarıyla yönetebilirsiniz. Hemen farkedeme-yenler için söyleyelim, kuş Cop-Out oyunundan alınmıştır.

XOR-SPRITE programını kullanmak için artık şu tek satırı yazmanız yeterlidir:

SYMBOL AFTER 256: MEMORY 41663: LOAD "SPRITE": CALL &A50A

| DEFİNE komutu sprite'ların tanımlanmasına yarar. Komuttan sonraki ilk parametre tanımlanan sprite'ın numarasıdır. Sekiz sprite olduğundan sıfır ile yedi arasında bir sayı olmalıdır. Sonraki iki parametre sprite'in genişliğini ve boyunu belirler. Birincisi genişliği, yani x-eksenindeki uzunluğudur. Bu 1 ile 80 arasında bir sayı olmalıdır. Her birim mode 2'de 8, mode 1 'de 4 ve mode O'da 2 noktanın genişliğine eşdeğerdir (veya mode 2 deki bir karakterin genişliğine). İkincisi ise boyu, yani y-eksenindeki uzunluğudur. Bir ile 199 arasında bir değer alabilir. Ama sayı fazla büyük olursa grafik yavaşlar. Bunun bir birimi ise bir yazı karakterinin sekizde biridir.

KOMUTLAR

|DEFINE,sp.nr,genişlik,yükseklik,elbisenin başlangıç adresi

|SPRITE,sp.nr,x-koordinatı, y-koordinatı

|UP,sp.nr | DOWN,sp.nr |LEFT,sp.nr |RIGHT,sp.nr

|CLOTH,sp.nr,yeni elbisenin adresi |DRESS,sp.nr,yeni elbisenin adresi

|MOVE,sp.nr,yön vektörü |LEAVE,sp.nr
* sp.nr=sprite numarası

Komutun son parametresi sprite'ın elbisesinin, yani şeklini belirleyen datalarının hangi adresten başladığını belirtir. Bu hafızanın herhangi bir adresi olabileceğinden 1000 ile 41000 arasında bir sayı olabilir.

|SPRİTE komutu ise tanımladığınız sprite'ı ekrana koyar. Yine ilk parametre sprite'ın numarası olmalıdır. Sonraki iki parametre x-koordinatı ve y-koordinatıdır. Burada dikkat edilecek husus ise x-koordinatlarmm kullanılan ekran mode'una göre farklılıklar göstermesidir. Ekran Mode O'da 160; Mode 1 'de 320 ve Mode 2'de 640 x-koordinatına ayrılmıştır. Y-Koor-dinat sistemi mode'a göre değ işik-lik göstermeyip 0 ile 200 arasındadır.

|LEFT, |RIGHT, |UP, |DOWN komutlarının kullanışları aynı olup adlanndan da anlaşılacağı gibi sprite'ları sola, sağa, yukarı veya aşağı hareket ettirmeye yararlar. Hepsinde de komuttan sonra sprite numarası gelir, tek parametre alırlar.
|CLOTH komutu sprite'ın bir sonraki hareketinde kullanacağı elbisesini, yani şeklini tanımlar, ilk parametre yine sprite numarasıdır, ikinci parametrede sprite'ın yeni elbisesinin bulunduğu adres verilmelidir. örneğin, sprite'ımız kanatları yukarıda bir kuş olsun. Cloth komutu ile elbisesini kanatları aşağıda olan kuş şeklinin olduğu adresi vererek değiştirelim. Kuşun kanatları hâlâ yukarıda olacaktır. Sonra |RIGHT komutu ile sağa hareket ettirelim. Kuş sağa geçerken kanatlarını aşağı indirecektir. Böylece kanat çırpan kuşlar, koşan adamlar, tekerlekleri dönen arabalar yapabilirsiniz.

|DRESS komutu |CLOTH'a benzer fakat sprite'ın elbisesini bir sonraki hareketi beklemeden, bulunduğu yerde değiştirir. Bu komut yanan odunlar, konuşan insan kafaları gibi animasyon yapımlarında kullanılabilir. | CLOTH komutu gibi yazılır. Yine sprite numarası ve yeni elbisenin adresi verilmelidir.

|MOVE komutu sprite'ın dört yöne hareketinin sayılarla kontrolünü sağlar, ilk parametre sprite numarasıdır. İkincisi ise yön vektörüdür. Aldığı değere göre sprite sağa, sola, yukarı, aşağı veya çapraz gider

1....Yukarı
2....Aşağı
4....501a
8....5ağa

Bu sayılardan ikisinin toplamı verilirse sprite çapraz hareket eder. Ayrıca bu sayılar Basic'in "JOY (joystick no.)" komutunun verdiği sayılar gibi olduğundan tek satırda sprite'ı joystick ile kontrol edebilirsiniz:

10 |MOVE, 0,JOY(0):GOTO 10

Son komut olan |LEAVE, spri-te'ın ekranı terk etmesini sağlar. Bir tek sprite numarasını vermeniz sprite'ın kaybolmasına yetecektir.

Sizin Amstrad

★ PUBLISHER: Sizin Amstrad
★ ANNÉE: 1988
★ CONFIG: 64K + AMSDOS (CPC 6128?)
★ LiCENCE: LISTING
★ LANGAGE:
★ AUTHOR: Kerem Erdem
 


★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» XOR-Sprite    (Sizin  Amstrad)    TURKISH    LISTINGDATE: 2022-07-08
DL: 165
TYPE: PDF
SiZE: 394Ko
NOTE: 6 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » RSX Sprite / SpriteEditor (CPC Magazin)
» Applications » Panda Sprites
» Applications » Sprite Editor pour Amstrad Cent pour Cent (Alain  Massoumipour)
» Applications » Sprites Logiciels - Graphisto+ Graph
» Applications » Sprite Filer
» Applications » Sprite Editor
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.732-desktop/c
Page créée en 362 millisecondes et consultée 783 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.