Bu sayfadaki yazılar
Sayfanın metni
Sayfa 19
Merhaba... Geçen ay OBJECT komutlarını tamamlamış ve örnekler vermiştik. Bu ay kaldığımız yerden devam edeceğiz.
OCT KOMUTU: Kullanım Şekli: Dizi=OCT$(X)
Bu fonksiyon, bir ondalık sayının sekiz tabanındaki karşılığını verir. Çevirme işleminden önce, ondalık sayı tamsayı yapılır.
X, sekizlik tabana çevrilecek ondalık sayıdır.
INPUT "SAYIYI GİRİN ";A PRINT "SEKİZLİK KARŞILIĞI ";OCT$(A)
şeklinde verilen bir örnek programda girilen ondalık sayı A değişkeni içerisine yerleştirilecek ve sekiz tabanına göre çevrim işlemi yapılacaktır. A, 16 olarak girilirse sonuç 20, 60037 olarak girilirse &0165205 olur.
ON BREAK KOMUTU: Kullanım Şekli: ON BREAK GOSUB etiket ON BREAK GOSUB 0
AmigaBasic'e CTRL-C tuşları ile ya da Run menüden Stop seçilerek program durdurulduğunda, hangi rutine dallanacağı belirtilir, etiket, program içindeki alfanümerik bir etiket ya da satır numarası olabilir, etiket yerine 0 verilirse, yani ikinci format kullanılırsa, program durdurma işlevi kapanır ve yeni bir ON BREAK GOSUB komutu ile aktif hale getirilene kadar kullanılmaz. Önemli nokta, bu event trapping'in (kesintilerin) BREAK ON komutu çalıştırılmadan aktif hale gelmeyeceğidir.
Bu komutla programın atlayacağı altrutin, kullanıcıya programın kırılamayacağını ve programı nasıl durdurabileceğini belirtmelidir. "Gerçekten çıkmak istiyor musunuz?" diye soran ve EVET/HAYIR kutucuklarını içeren bir pencere hoş olmaz mı?
Altrutin, RETURN komutu ile bitmelidir.
ON COLLISION KOMUTU: Kullanım Şekli: ON COLLISION GOSUB etiket ON COLLISION GOSUB 0
Birden fazla obje olduğunda ve objelerin birbiriyle veya ekran çerçeveleri ile çarpıştığında programın hangi etikete dallanacağı tanımlanır. Bu işlem için COLLISION ON komutu ile collision trapping'in açık olması gerekir, etiket, alfanümerik bir satır etiketi ya da satır numarası olabilir, etiket, 0 verilirse collision trapping çalışmaz. Yeni bir ON COLLISION GOSUB komutu ile bir hedef belirtilinceye kadar bu durumda kalır.
ON ERROR GOTO KOMUTU: Kullanım Şekli: ON ERROR GOTO satır
Bir hata oluştuğunda program kontrolünü bir hata yakalama rutinine gönderir. Komutun çalışabilmesi için ERROR ON komutunun çalışmış olması gerekir, satır alfanümerik bir satır etiketi olabileceği gibi, satır numarası da olabilir; 0 verildiğinde, error handling işlemini kapatır.
10 ON ERROR GOSUB 150 150 IF (ERR=230) AND (ERL=90) THEN PRINT "Yeniden Dene":RESUME 80
Örnekteki RESUME yönergesi hata mesajı verildikten sonra 80. satırdan devam etmesini sağlar.
ON.......GOSUB ON.......GOTO KOMUTLARI: Kullanım Şekli: ON x GOSUB etiket [,etiket][,etiket] ON x GOTO etiket [,etiket][,etiket] x değerine bağlı olarak etiket listesinde belirtilen satır numarası ya da alfanümerik satır etiketlerine dallanma komutlarıdır. x, bir ifadenin sonucu olabilir. Eğer x, bir satır numarasına ya da satır etiketine karşılık geliyorsa, program o satıra dallanır. Sonuç 0 veya etiket listesindeki değerlerin sayısından büyük olursa, program çalışmasına bir sonraki satırdan devam eder. Değer 1 ise ilk etikete, 2 ise ikinciye dallanır, x, virgüllü bir rakamsa değer yuvarlanır. x, negatif bir sayı olarak verilirse,
AMIGA BASIC
"ILLEGAL FUNCTION CALL" hata mesajı verilir. Program GOSUB ile dallandığı program bölümünden RETURN ile komutun bir alt satırına geri döner.
Komutun her iki formatı da aynı amaçla kullanılır. GOTO kullanılan formatta, dallanılan yerde RETURN bulunmaz ve çalışma oradan devam eder.
BASLA: INPUT "Seçiminiz (1-4)? ",X% IF X%<1 OR X%>3 THEN GOTO BASLA:
ON X% GOSUB ALT1 ,ALT2,ALT3,ALT4
END ALTİ:
PRINT "1. rutin" RETURN ALT2: PRINT "2. rutin" RETURN ALT3: PRINT "3. rutin" RETURN ALT4: PRINT "4. rutin" RETURN
ON MENU KOMUTU: Kullanım Şekli: ON MENU GOSUB etiket ON MENU GOSUB 0
Bu komut, AmigaBasic'e kullanıcı pulldown menüden bir seçim yaptığında nereye dallanacağını belirtir. Bu dallanmanın yapılabilmesi için, bu event trapping'in MENU ON yönergesiyle aktif hale getirilmiş olması gerekir, etiket, bir etiket ya da satır numarası olabilir. 0 verilirse, pulldown menüler kapanacaktır. Menüleri tekrar açmak için, MENU ON komutunu kullanmanız gerekir. Program, ON MENU komutuyla dallandığı altrutinden RETURN ile geri dönmelidir.
ON MOUSE KOMUTU: Kullanım Şekli: ON MOUSE GOSUB etiket ON MOUSE GOSUB 0
Sol mouse düğmesine basıldığında, programın dallanacağı rutini bildirir. İşlevin yapılabilmesi için ilgili event trapping'in açık olması gerekir, etiket, yine alfanümerik bir satır etiketi ya da satır numarası olarak verilir. 0, mouse dallanmalarını MOUSE ON yönergesi yeniden çalıştırılana kadar kapatır. Komutla dallanılan altrutin RETURN ile sonlanmalıdır.
ON TIMER KOMUTU: Kullanım Şekli: ON TIMER (x) GOSUB etiket ON TIMER GOSUB 0
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 18
Deluxe Framer 1.0 Deluxe Framer, herhangi bir çizim programıyla oluşturduğunuz bir resimden animasyon objeleri çıkarmanızı sağlar. Bu programın yazıldığı devirde Deluxe Paint III gibi animasyon açısından gelişmiş programlar bulunmadığından ve kullanıcıların ucuz ve yeteneksiz bir çizim programını kullanarak da animasyon objeleri oluşturabilmeleri için program animasyon objelerini resimlerden çıkarıp birleştirmek için yapılmış.
Şimdi yukarıda anlattığımız olayı ayrıntıyla inceleyelim. Framer ekrana ilk geldiğinde ekran siyahtır ve bu ekranın üzerinde "a"dan "f"ye kadar harflerle işaretlenmiş bir sıra kare bulunur. Bu bir sıra kare, objenin ekrana yüklenmiş bir resimden kesilecek animasyon karelerini temsil ederler. Bu kareler bloğunu sol üst köşedeki karenin üst kısmındaki taşıma alanından mouse ile tutarak ekranın istediğiniz yerine taşıyabilir ve gene sol üst karenin sağ alt köşesindeki kulakçık ile de karelerin boyutlarını çekiştirerek değiştirebilirsiniz. Bu arada dikkat edin, kareler bloğunun sınırları ekran sınırlarını aşmasın.
Peki bu programla kesilip alınacak resimleri nasıl oluşturacağız? Bu çok kolay. İlkin herhangi bir çizim programını yükleyin ve objenizin boyutlarına karşılık gelen bir dikdörtgen çizin. Daha sonra bu dikdörtgeni fırça olarak alıp ekranda yanyana ve alt alta bloklar oluşturacak şekilde basın (Bu blokların düzenlenme biçimini birazdan göreceksiniz). Bu yan yana ve alt alta basımlarda dikdörtgen sınırları birbirlerine tam yapışsın, ama birbirlerinin üzerlerine geçmesinler. Daha sonra bu dikdörtgenlerin içlerine sırayla animasyon karelerini çizin ve resminizi kaydedin. Anlattığımız tekniğe bir örnek teşkil etmesi için, elinizde Deluxe Video'nun parts disketinde bulunan "FireCracker" adlı resmi yükleyin ve inceleyin. Resim oluşturmakla ilgili bilgileri gördüğümüze göre artık pull-down menülerini inceleyelim ve objeleri nasıl yaratacağımızı da anlayalım...
Make Frame from Object: Bu da deminki seçeneğin tam tersi. Yüklenmiş bir objenin kareleri ekrana blok halde basılıyor.
Animate: O anda kullanılan objeyi canlandırıyor. Change Colors: Ekrana gelen pencerenin içinden renk paletini değiştirmenizi sağlıyor.
Quit: Programdan çıkış.
Picture ve Object Menüleri... Bu iki menünün seçenekleri birbirlerinin aynı ve disk iletişimi ile resim veya objelerin ekranda gösterilmelerini sağlıyorlar.
View: Yüklenmiş veya kesilip çıkarılmış obje veya resmi ekranda gösterir.
Load: Çıkan bir disk iletişim penceresi ile bir obje veya resmi yüklemenizi sağlar.
Save: Aynı şekilde, oluşturmuş olduğunuz yeni verileri diskete kaydeder.
Clear: O anki obje veya resim sayfasını siler.
Deluxe Video Player: Bildiğiniz gibi, hazırladığınız çalışmaları Deluxe Video'nun ana programının içinden Chain komutlarını kullanarak oynatamıyordunuz. Player programı işte bunu da yapabilen bir oynatım programı. Ekrana gelen video paneli benzeri kumandadan veya kursor hareket tuşlarıyla klavyeden, oynatımı kontrol edebiliyorsunuz. Panelin üst kısmında geri ve ileri oynatım, ortada durdurma ve alt sırada da hızlı geri ve ileri oynatma tuşları var. Alt kısımda ise "reset" ile video senaryosunu tam başa alma ve senaryoyu çok hızlı geri ve ileri oynatma tuşları var. En alt satırdaki "..." tuşu ile oynatımı pause edip, adım adım ileri veya geri alabilirsiniz. Müziği açıp kapatmak için ise bir nota'ya benzeyen tuşu kullanın. Senaryoları direk ikonlarından veya pull down menüsünden çağırabilirsiniz.
Evet, artık Deluxe Video ile çalışmak için her şeyi biliyorsunuz. Size iyi çalışmalar. Bir dahaki yazımızda buluşana değin esen kalın.
Project Menüsü... About Framer: Programcılar ile ilgili kısa notlar. Change Frame: Bu seçenek kullanıldığında ekrana bir pencere açılıyor ve bu penceredeki seçeneklerle, ekrandaki kareler bloğunun karelerinin sayısı ve düzeni belirleniyor. Bu pencerenin en üst satırındaki "Number of Frames" adlı kutucuğa animasyon objenizin kaç kareden oluştuğunu giriyorsunuz veya +/- kutucuklarını klikliyorsunuz. Bloğun şeklini ise "Across" (yana) ve "Down" (aşağı) yönlerindeki kare sayılarını girerek belirliyorsunuz. Daha sonra "OK"e kliklediğinizde, ekrandaki kareler bloğunu yeni şekliyle kontrol edebilirsiniz. Hatırlatmamız gereken, resim programlarıyla çizeceğiniz resimlerdeki animasyon bloklarının düzeninin, tanımladığınız kare bloklarına uyabilmesi. Yani animasyon karelerinin sıralarına dikkat edin.
Make Object from Frame: Eğer ekrana resim programıyla çizdiğiniz animasyon bloğunu yüklediyseniz ve kareler bloğunun boyutlarını ve yerini de bu resmin tam üzerine oturttuysanız, bu seçenekle animasyon objenizi ekrandan almış oluyorsunuz.