THE DIRECTOR

Merhaba.. Hatırlarsanız geçen ay Director programının genel özelliklerine değinmiş ve komutlarını tanıtmaya başlamıştım. Bu sayıda programın kalan komutlarını tanıtarak açıklamalarımızı tamamlayacağım. Açıklamaların sonunda sizlere yararlı olacağını düşündüğüm bir de terminoloji vereceğim.

FADE <z>, <buf>, <hız> <buf> ile belirtilen ekranın renklerinin yavaş yavaş açılmasını ya da kapanmasını sağlar. Bu, demonstrasyonlarda çok kullanılan bir efekttir. <z> ile renklerin açılacağı mı (1 değeri), yoksa kapanacağı mı (0 değeri) belirtilir. <hız> ile de renk değişim hızı ayarlanabilir. En iyi hız değerleri 0-10 değerleridir. 0 en hızlı renk değişimini belirtir.

FILL <mod>, <x>, <y> <x>,<y> koordinatları etrafında çevrili olan kapalı çokgenin içinin doldurulmasını sağlar. <mod> değeri 0 olduğunda çokgenin kenarlarını oluşturan çizgiler boyanmaz. <mod> 1'e eşit ise kenar çizgileri de boyanır. Boyama rengi yine kalem rengidir.

FIXPALETTE <z> <z> değeri 1 olursa DISPLAY, WIPE ve DISSOLVE komutlarıyla yapılan renk değişimleri uygulanmaz. Bu sayede renklerin bozulmaması sağlanabilir. Daha önceden FIXPALETTE 1 ile renkler kilitlenmiş ise, bunları FIXPALETTE 0 değeri ile tekrar açabilirsiniz. Normalde renkler kilitli değillerdir.

FOR [n]=<a> TO <b> STEP <c> BASIC'te olduğu gibi n değişkenine sırayla <a>'dan <b>'ye kadar olan rakamları <c> adımlarıyla atlayarak yazar. Eğer STEP ve <c> değerleri verilmemişse, bu değer 1 olarak alınır. Her FOR...TO komutundan sonra gelen rutinin sonunda NEXT [n] komutu olmalıdır. Bu sayede [n]'in değerinin devamlı değişmesi sağlanabilir. Bu komut, programlarda her çeşit döngüleri yapmak için idealdir.

FREE <buf> Belirtilen resim ya da animasyon buffer'ını temizler. Bu sayede biraz hafıza kazanmış olursunuz. DISPLAY komutuyla ekran buffer'ı olarak tanımlanan resim buffer'ı FREE ile silinemez.

FREEFONT <no> LOADFONT <no> ile tanımlanan font buffer'ına yüklenmiş fontu (karakter setini) hafızadan siler.

GETKEY [a] Bir tuşa basılmasını bekler ve basıldığında ise bunun ASCII değerini [a] değişkenine yazar.

GETMAP <buf>, <ar> <buf> ile tanımlanan resim buffer'ının renk paletini '@' dizisine <ar> ile belirtilen elemandan sonrasına yazar. Bir resmin renk paleti 32 tane 2 byte'lık bilgiden oluşmuştur.

Her bir renk değerinin kırmızı, yeşil ve mavi oranlarını hesaplamak için aşağıdaki formülleri kullanmanız gereklidir.

[kırmızı] = [değer]/256 [yeşil] = ([değer]/16)%16 [mavi] = [değer]%16 Bu formüllerde [değer], GETMAP ile elde edilen iki byte'lık değerlerden her biridir.

GETMOUSE [x],[y] Bir mouse tuşuna basıldığı anda mouse işaretçisinin x ve y koordinatlarını [x] ve [y] değişkenlerine yazar.

GETPEN [z], <x>, <y> Ekran buffer'ında <x>,<y> noktasında belirtilen pikselin renk değeri [z] değişkenine yazılır.

GOSUB <satır> <satır> ile tanımlanan satırdaki alt-rutine gider, orada gerekli işlemleri yaptıktan sonra alt-rutindeki RETURN komutuyla programa kaldığı yerden devam eder.

GOTO <satır> <satır> ile belirtilmiş olan rutin ya da alt-rutine dönüşsüz olarak dallanır.

IF <şart> Koşullu işlem gerçekleştirmede kullanılır. <şart> ile tanımlanan koşul gerçekleşmişse komuttan ilk ENDIF ya da ELSE komutuna kadar olan komutlar gerçekleştirilir. Şart gerçekleşmemişse ve ELSE ile ters koşul için de komutlar girilmişse, program bu komutları uygular. ELSE komutu kullanılmamışsa program ENDIF'ten sonraki satırları işlemeye devam edecektir.

Bu komutu daha kolay anlayabilmek için aşağıdaki örneği inceleyin: IF A=5 ; A değişkeninin değeri 5 olduğunda: B=3 X=26 Y=19 ELSE ;5'ten farklı olduğunda: B=6 X=13 Y=38 ENDIF ; IF yönergesini bitir.

IFKEY [var] Komut uygulandıktan sonra bir tuşa basıldıysa bu tuşun ASCII değeri [var] değişkenine yazılır. Hiçbir tuşa basılmadığı zaman değişkenin içeriği -1 olur. Bu komutu, programın çalışması devam ederken kullanmak mümkündür. Program başında ya da gerekli yerlerde komut tanımlanır. Daha sonra değişkenin içeriği devamlı olarak kontrol edilir. Eğer tuşa basılmışsa (IF ile tuşun kodunu kontrol edebilirsiniz; böylece tuşun doğru tuş olup olmadığını da öğrenebilirsiniz) gerekli işlemler yapılır. Tabii tuşa basılmadığı zaman başka işlemler de gerçekleştirilebilir (ELSE).

IFMOUSE [x],[y] Mouse'un tuşlarından herhangi birinin basılıp basılmadığını kontrol eder. Eğer basılmışsa, bu noktanın koordinatları [x] ve [y] değişkenlerine yazılır. Basılmamışsa iki değişken de -1 değerine eşit olacaklardır. Bu komut da IFKEY komutu gibi bir defa çağrıldıktan sonra devamlı kontrol yapmaktadır.

INCLI <z>,<n> Klavyeden girilen bir yazının CLI penceresinde yazılmasını sağlar. Ayrıca girilen satır ‘@’ dizisine <z> numaralı elemandan sonrasına karakter dizisi olarak yazılır. <n> ile en fazla karakter adedi belirlenir. <RETURN> tuşu ile giriş bitirilir.

INPUT$ <z>,<n> Klavyeden girilen karakterlerin o an aktif olan ekran buffer'ında grafik cursor'unun yerinden itibaren basılmasını sağlar. Girilen dizi ayrıca ‘@’ dizisinin <z> numaralı elemanından sonrasına yerleştirilir. Girilebilecek en fazla karakter adedi <n> değeri ile belirlenir. <RETURN> ile de giriş işlemi bitirilir.

LOAD <buf>, <dosya> <buf> ile belirtilen resmin buffer'ına disketten resim okur. Resim dosyası IFF-ILBM standardında olmalıdır. Yüklenen resmin hafızadaki yeri ilk 512 KByte'lık CHIP Ram bölgesindedir. Eğer resmin, harici hafıza olan FAST Ram bölgesine yerleşmesini istiyorsanız bunu LOADFAST komutunu kullanarak yüklemelisiniz.

LOADANIM <buf>, <dosya>

Disketten <dosya> ile ismi belirlenen IFF-ANIM animasyon dosyası (Deluxe Paint’in Anim fonksiyonu ya da Video-Scape'de IFF modunda yapılmış bir animasyon) <buf> ile belirlenen buffer'a yüklenir. Eğer FAST Ram mevcutsa animasyon doğrudan buraya yüklenir.

LOADFAST <buf>, <dosya>

Disketten <dosya> isimli IFF-ILBM resim dosyasını FAST Ram’de <buf> ile belirlenen resim buffer'ına yükler.

LOADFONT <n>, <z>, <isim> Disketten <isim> ile belirtilen fontun <r> boyunda olanını, <n> ile belirtilen font buffer'ına yükler. 1’den 10'a kadar font buffer'ı olduğundan gereksiz olduğunu bildiğiniz yerlerde fontun yerine bir diğerini yükleyebilirsiniz. Böylece hafızadan da tasarruf etmiş olursunuz. Font isminin sonunda <.font> takısı bulunmalı ve bu <isim>'e de yazılmalıdır.

LOCATION [z] O an açılmış olan dosyanın okunmuş olan byte numarası [z] değişkenine yazılır.

MARGINS <l>, <r> <l> ve <r> ile belirtilen x koordinatlarına marjin koyar. Bu sayede karakter girişi sırasında ekranın belli yerlerinde satır atlaması yapılabilir. Eğer merkezleme (CENTER) fonksiyonu açılmışsa MARGINS komutu merkezlenecek yazının kenar noktalarını ve dolaylı olarak orta noktasını belirlemede kullanılabilir.

MEMORY [a], [b], [c] Kalan hafıza durumu hakkında bize bilgi verir. [a] değişkeninde toplam kalan hafıza miktarı bulunur, [b] ile kalan CHIP Ram (dahili), [c] ile de kalan FAST Ram (harici) hafıza miktarları öğrenilebilir.

MODÜLE "<dosya>" Programınızda harici modüller kullanmanızı sağlar. Bunlara en basit örnek ses kullanırken tanımlamanız gereken SOUND modülüdür. Modüller, disketinizin herhangi bir directory'sinde olabilir. Fakat bu directory MOD:'a assign edilmelidir. Bunun için program yazmadan önce CLI'da 'ASSIGN MOD: DF0:<dir ismi>' girmelisiniz. Burada <dir ismi> yerine modülün bulunduğu directory'nin ismi yazılmalıdır.

MOVE <x>, <y> Grafik kursor'unu <x>, <y> koordinatına götürür.

NEXT FOR döngüsünden çıkışı sağlar.

NEW <buf1>, <buf2> CHIP Ram'de <buf1> numarasıyla bir resim buffer'ı açar. <buf2>'nin renk paleti bu yeni açılan buffer'a kopyalanır.

NEWFAST <buf1>, <buf2> FAST Ram'de <buf1> numarasıyla bir resim buffer'ı açar. <buf2>'nin renk paleti bu yeni açılan buffer'a kopyalanır.

OPEN [mod], "<dosya>" Belirlenen [mod]'a göre ismi belirtilen dosyayı açar. Mod değişkeni, üç değer alabilir: 0-okuma, 1-yazma, 2-okuma ve yazma. Bir dosya açılırken bir hata çıkmışsa komut işlendikten sonra [mod] değişkeninde 0 yazılı olur. Başarılı bir dosya açma işlemi gerçekleşmişse, değişkenin değeri 1 olacaktır.

Bir dosya, 2. modda (okuma ve yazma) açılırsa otomatik olarak dosyanın son byte'ına kadar gidilir. Bu sayede varolan bir dosyaya ek yapmanız mümkün kılınmıştır.

Aynı anda birden fazla dosya açılamayacağı için her dosyayı açıp bununla işlemlerimizi bitirdikten sonra bunu kapatmayı unutmamamız lazımdır.

PALETTE <buf>, <p> Ekran buffer'ının paletinin <buf> ile tanımlanan palet renk kodlarını almasını sağlar. Eğer ekran buffer'ı seçilirse ve <p>'nin değeri 1 ise, o anki ekran renkleri ve ekran buffer renkleri değiştirilir. Eğer <p> değeri olarak 0 girilirse sadece ekran renkleri değişmeye uğrayacaklardır.

PAUSE <n> Araya <n> değerine bağımlı olarak bir bekleme süreci konur. Bu sürenin saniye olarak karşılığı, <n> değerinin 1/10 ile çarpımında elde edilen sonuca eşittir. Bekleme süresi = <n> x 0.1 saniye Eğer SPEED komutuyla program akış hızı değiştirilmişse, PAUSE'un bekleme süresi de değişecektir.

PEN <n>,<c>

<n> kaleminin rengini <c> rengiyle eşitler. Üç kalem mevcuttur: 0 - kalem rengi 1 - zemin rengi 2 - çerçeve rengi <c> değeri için 0 ile 31 arasında kalan 32 renk rejistri kullanılabilir.

PLANES <f>

PLANES komutuyla yapılan işlemleri sadece bazı bitplane'ler üzerinde uygulanmasını sağlayabiliriz. <f> değeri, hangi bitplane'lerin kilitleneceğini belirlemekte kullanılır. Aşağıda <f>'nin bitlerini ve bu bitlerin her birinin hangi bitplane'i açtığını görebilirsiniz. 1 yazılı olan bit'e ait bitplane yapılan işlemlerden etkilenecektir. Bitno. 7 6 5 4 3 2 1 0 Planeno. - - 6 5 4 3 2 1

POINT <x>,<y> Kalem rengiyle ekranın <x>, <y> koordinatına bir nokta koyar.

POSITION <x>,<y> Ekranın sol üst köşesini kaydırmanıza yarar. Aynı işlemi WorkBench'in Preferences programı da uygulamaktadır. Fakat siz bu değerle oynayarak ekranın kenarlarında kalan boş bölgeleri de kullanabilirsiniz. Bunun için ayrıca grafik modu olarak OverScan'i seçmeniz gereklidir. <x> ve <y> değerleri olarak 98 ve 25 girerseniz ekranın sol üst köşesi en sol üst noktada olacaktır.

PRINT "<arg>" <arg> ile belirtilen yazıyı CLI ekranına basar. Eğer <arg> kullanılmamışsa boş bir satır basılacaktır. Ayrıca '@' dizisi elemanlarını ya da normal değişken değerlerini de basmakta bu komutu kullanabilirsiniz.

READ [V], <n>, <b> OPEN ile açılan bir dosyadan <b> kadar bilgiyi '@' dizisinin <n> numaralı elemanından sonrasına yerleşecek şekilde okur. Eğer işlem hatasız gerçekleşmişse, işlem yapıldıktan sonra [V] değişkeninde dosyanın pozisyonu yazılıdır. Aksi halde bu değişkende -1 var olur. -1 normalde dosya sonunu belirtmekte kullanılır.

RECT <ux>, <uy>, <lx>, <ly> Kalem rengiyle içi dolu bir dörtgen çizer. <ux>, <uy> dörtgenin sol üst, <lx> ve <ly> ise sağ alt köşelerini tanımlamakta kullanılır.

REM Bu komut sadece hazırlanan listeye açıklamalar koymak için kullanılır ve hiçbir fonksiyonel işlevi yoktur.

RESOLUTION <buf>, <x>, <y>, <n> <buf> numaralı resim buffer'ının rezolüsyonunu tanımlamak için kullanılır. <x> ve <y> ile ekranın genişliği ile yüksekliği belirtilir. <n> değeri de bu ekranın kaç bitplane'den oluşacağını belirlemek için kullanılır.

RETURN GOSUB ile dallanılan bir alt-rutinden geri dönmeye yarar.

ROTATE <buf>, <n> Bu komut ile bir resim buffer'ındaki bitplane'lerin yerleri değiştirilir. <n> olarak 1 değeri alınmışsa 1 numaralı bitplane'in bitplane numarası bir artarak 2 olur vs. Son olarak da 5 no.lu bitplane'in numarası değişerek 1 olur. Bu, ekran renklerinin farklı bir şekilde değişmesine yol açacaktır. Eğer <n> değeri negatif ise bu sefer bitplane'ler ters yönde yer değiştireceklerdir.

SEEK <n> Açılan dosyada aktüel pozisyonu değiştirmek için kullanılır. <n> ile gidilecek pozisyon belirtilir. -1 değeri dosya sonunu belirttiği için dosya sonuna varılır.

SETBLACK <z> <z> olarak 1 girilmişse renklerin hepsini siyah yaparak ekranın kapanmasını sağlar. <z> yerine 0 yazılmışsa tüm kapanan renkler tekrar eski konumlarına getirileceklerdir.

SETFONT <n> Kullanılacak font olarak <n> numaralı font buffer'ındaki fontu tanımlar.

SETLACE Pek sevilmeyen InterLace grafik modunu açmak için kullanılır. InterLace'e geçildikten sonra tekrar normal ekran moduna dönmek olanaksızdır.

SETMAP <buf>, <i> <buf> numaralı resim buffer'ının renk paletini ayarlamak için kullanılır. Yeni renk paleti '@' dizisinde herhangi bir elemandan sonra başlamalıdır. Bu elemanın numarası <i> ile belirtilir.

SKIPANIM <a>, <b>, [abs], [rel], [bitiş] Bu komut sayesinde yüklenen animasyonu kare kare göstermek mümkündür. Bütün değerler ANIM komutundakilerle aynıdır.

SOUND [z], "<komut>", <a1>, <a2>, <a3> - Bu komut, bir modül komutudur, [z] değişkeninde komutun sonucu alınabilir. "<komut>" ile belirtilen komutlar modülün komutlarıdır ve ses için kullanabileceğiniz özel modül komutlarını, komutların açıklamalarından hemen sonra gelen 'Ses Kullanımı' başlığı altında bulabilirsiniz. <a1>, <a2>, <a3>..... değerleri de özel modül komutlarının kullandıkları bazı parametrelerdir.

SPEED <n> Global animasyon çalışma hızını ayarlamak amacıyla kullanılır. Bu sayede gerekli yerlerde animasyonu hızlı, gerekli yerlerde de yavaş gösterebilirsiniz. Normaldeki değer 5'tir. Eğer <n> yerine 50 yazarsanız her PAUSE değeri için geçmesi gereken süre 1 saniye olacaktır. Değer 1 olursa her PAUSE değeri için 1/50 saniyelik bir süre beklenecektir.

STENCIL <abuf>, <bbuf>, <pol> BLIT işleminin maskeli olarak yapılmasını sağlar. <pol> değeri 1 seçilmişse <bbuf>'taki her zemin rengi taşıyan pikselin, <abuf>'taki karşılığı kopyalanır. Aynı kopyalama <pol> değeri 1 iken <bbuf>'ta her zemin rengi olmayan piksellerde de yapılır. İstenilirse her iki buffer'da aynı buffer'ı gösterebilir.

STRING <s1>, $<s2> <s1> ile tanımlanan karakter dizisini '@' dizisinin <s2>. elemanından sonrasına yerleştirir. <s1> de istenilirse '@' dizisini gösterebilir.

STYLE <a>, <b> Yazı karakterlerinin şeklinin seçilmesinde kullanılır. <a> ile şekil belirtilir. Bu değer aşağıdakilerden biri olabilir:

0-Normal 1 - Altı çizili 2-Kalın 4-İtalik Tabii ki stilleri birleştirmek de mümkün. Bunun için gerekli stil kodlarını toplamanız yeterli olacaktır. <b> ile de karakterler arası kaç piksellik bir boşluk bırakılması gerektiği belirtilir.

TEXT "<dizi>" Belirtilen diziyi grafik cursor'unun bulunduğu noktadan itibaren yazar. Dizi girilmezse boş bir satır atlanılır.

TRANSPARENT <z> BLIT komutu için saydamlık modunu açar, kapatır. Bu mod açıkken ( <z> = 1 ) BLIT ile yapılan kopyalamalarda zemin rengi taşıyan pikseller, ekran buffer'ının aynı koordinatlarındaki pikselin rengini alır. Eğer <z> olarak 0 girilmişse kopyalanan dörtgende zemin rengi olan noktalar, ekranda aynı renkte kalırlar.

TROFF Trace modunu kapatır.

TRON Trace modunu açar. Bu modda her komut satırı işlendikten sonra girilen parametreleri ile beraber CLI penceresine basılır. Böylelikle her satırda hata olup olmadığını çok rahat bir şekilde kontrol edebilirsiniz.

WEPE <buf>, <sx>, <sy>, <dx>, <dy>, <w>, <h>, <a>, <mod>

<buf> ile belirtilen resim buffer'ından ekran buffer'ına satır satır ya da kolon kolon kopyalama yapar. <sx>, <sy> kopyalanacak dörtgenin başlangıç koordinatını, <dx> ve <dy> ise dörtgenin ekranda nereye kopyalanacağı belirtilir. <w> ve <h> ile kopyalanacak dörtgen boyutları tanımlanmalıdır. <a> ile her defasında kaç pikselin kopyalanacağı belirlenir. <a> değeri dörtgen genişliğine (<w>) eşit ise ve kopyalama modu olarak 0 ya da 2 kullanılmışsa her seferinde bir satır kopyalanacaktır. Eğer <a> değeri 1'e eşit ise kopyalama bir hayli yavaş gerçekleşir. <mod> ise kopyalama modunu tanımlamakta kullanılır ve aşağıdaki değerlerden biri olabilir

0 - Yukarıdan aşağıya kopyalama 1 - Soldan sağa kopyalama

2-Aşağıdan yukarıya kopyalama 3-Sağdan sola kopyalama

WRITE "<a1>", $<a2>, [a3], … "<a1>", $<a2> ya da [a3] ile belirlenen yazı dosyasını/dosyalarını açılmış olan dosyaya yazar.

Evet komutlar bu kadar. Gelelim daha önce de sözünü ettiğimiz ses üretme konusuna.

DIRECTOR YARDIMIYLA SES

ÜRETMEK VE BUNLARI

KULLANMAK Yaptığınız animasyonlarda insan ya da diğer her hangi bir sesi kullanmak mı istiyorsunuz? Bunun için ilkönce sesi yaratmanız gerekli. Kaliteli bir ses digitizer'ı ve iyi bir ses örnekleme programıyla bu çocuk oyuncağı. Ses örnekleme programı olarak Aegis'in çıkarttığı Audio Master programını tavsiye ederim. Bu programın kullanımını daha önceki sayılarda bulabilirsiniz. Gelelim örnekleyip diskete kaydettiğiniz sesi kullanmaya. Bunun için programınızın ilk satırlarından birinde aşağıdaki komut yer almalıdır

MODULE "sound" Bu sayede ses modülünü programınıza bağlayabilirsiniz. Ses modülü sayesinde kullanabileceğiniz komutlar 6 tanedir:

LOAD, FREE, PLAY, QUIET, SLOW-FADE ve KILL

Bu komutların hepsini SOUND komutu aracılığıyla girebilirsiniz. Aşağıda buna ait birkaç örnek bulabilirsiniz:

SOUND [v], "LOAD", 1, 2, ":sounds/ 
crash.snd"

SOUND [v], "PLAY", 1,1,63,400 Her Sound komutundaki ilk parametre ([v]) bir değişkendir. Bunun sayesinde komutun işlendikten sonra bize göndereceği bir değer varsa bunu öğrenebiliriz. Bazı komutlar işimize yaramayan anlamsız değerler gönderebilir. Fakat her komutta bir boş değişkenin parametre olarak girilmesi gereklidir. Aşağıda Sound komutu aracılığıyla kullanabileceğiniz 6 komut açıklanmıştır.

SOUND [v], "LOAD", <buf>, <oct>, 
<"dosya">

Disketten dijitize edilmiş ve kaydedilmiş bir sesi yüklemenize yarar. <buf> ile sesin yükleneceği ses buffer'ını, <"dosya"> ile de sesin disketteki ismini belirleyebilirsiniz. Kullanabileceğiniz 20 ses buffer'ı vardır ve bunlar 1'den 20'ye kadar sıralanmışlardır. Yüklenen ses çok oktavlı bir ses (AudioMaster yazısına bakınız) ise <oct> ile sadece bunun herhangi bir oktavını kullanmanızı sağlar. Çok oktavlı seslerde yüksek oktavlardaki sesler ilk önce kaydedileceğinden, bunları kullanmak için 1 ya da 2 değerleri girmelisiniz. <oct> isteğe göre bir parametredir. İsterseniz buraya hiç değer yazmayabilirsiniz. Bu durumda ses çok sesliyse en son oktavı, yani en kalın oktavı kullanılacaktır. Komut, işlendikten sonra [v] değişkeninde yüklenen sesin periyod değerini kaydeder. Bu değeri PLAY komutunda kullanabilirsiniz. Periyod ile sesin periyod noktası, yani kısaca bitişi belirtildiğinden bu değer, sesi sadece bir defa çalacaksak kesinlikle PLAY komutunda

SOUND M, "FREE",<buf>

Bir ses buffer'ının silinmesini ve böylece hafızadan tasarruf edilmesini sağlar. <buf> silinecek buffer'ın numarası olmalıdır. O an çalınan sesi FREE komutunu kullanarak silerseniz istemediğiniz distorsiyon sesleri (parazitler) oluşacağından ilk önce QUIET ya da SLOW-FADE kullanılarak sesi kapamanız gereklidir.

kullanılmalıdır.

SOUND M, "PLAY", <buf>, <n>, <vol>,
<periyod>
SOUND [v], "KILL"

Kullanılan ses modülünü hafızadan siler. Bu komuttan sonra ses modülüne ait komutları kullanamazsınız. Yaptığınız programdan çıkışta bu komut otomatik olarak gerçekleşir.

İsterseniz başka bir müzik program ile hazırlanan müziklerin demonstrasyonunuzun arkasında çalınmasını sağlayabilirsiniz. Bunun için herhangi bir programla (örneğin NoiseTracker 2.0) hazırlanan müziğin CLI'dan çalıştırılabilir şekilde olması lazımdır. Bunu yapmak için bazı cracker'ların yapmış olduğu Utility Package adı verilen yardımcı programların olduğu paketlerde çeşitli programlar mevcuttur. Daha sonra Director'un EXECUTE komutunu kullanarak bu müziğin çalınmasını sağlayabilirsiniz.

Yüklenmiş bir komutun çalınmasını sağlar. <buf> ile ses buffer numarasını, <n> ile sesin kaç defa çalınacağını (0 - 63 değerleri kullanılabilir) ve <vol> ile sesin çalınma şiddetini belirleyebilirsiniz. <periyod>, ses yüklendiğinde [v] değişkeninden alınabilecek değerdir ve sesin tekrarlanması sırasında bitiş noktasını, hızı ve ses çalınma süresini belirlemekte kullanılır. Eğer <n> olarak 0 değerini girerseniz, ses QUIET ya da KILL komutuyla kapanana kadar sürekli olarak çalacaktır.

Aynı anda 4 ses çalabilirsiniz, zira Amiga'nın sadece 4 ses kanalı mevcuttur. 5. bir sesi çalmaya çalışmak hiçbir şey yapmayacaktır. Ses çalarken stereo efekti yaratmak isterseniz aynı sesi iki defa çalmanız gereklidir.

SOUND [v],"QUIET" Bu komut ile tüm ses kanallarını aynı anda kapayabilirsiniz. Parametre olarak hiçbir şey gerektirmemektedir.

Eh, bu programın da açıklaması burada bitiyor. Artık bundan sonrası size kalmış; isterseniz bir slide-show yaparak çizdiğiniz resimlerin çok güzel şekillerde ekrana gelmelerini sağlayın, isterseniz de çeşitli animasyon programlarını da kullanarak çok güzel prezentasyon / demonstrasyon yapın. Bu programla yaratıcılığınızın sınırı daha da genişler.

SLOWFADE [v], "SLOWFADE",<sp> Sesin yavaş yavaş kısılarak kapanmasını sağlamak istiyorsanız, bu komutu kullanabilirsiniz. <sp> ile sesin kapanma hızını belirleyebilirsiniz. Buraya girilecek bir 1 değeri sesin çok hızlı olarak kapanmasını sağlar. 10-20 arasındaki değerler ile sesin çok yavaş olarak kapanmasını sağlayabilirsiniz.

TERMİNOLOJİ

Double-buffering (çift saklamalı): Yapılan animasyonların bazen çok detaylı ve karışık olması gerekebilir. Bir ekranda çok fazla hareket aynı anda yapılacağından ekran tarama ışınının hızı bunların hepsine yetişmeyebilir. Böyle durumlarda animasyonda her karedeki kopyalama işlemleri hafızada başka bir resim buffer'ına kopyalanmalı ve hemen ardından da bu resim buffer'ı ekran buffer'ına kopyalanmalıdır. Bu işlem saniyede en az 30 defa yapılacağından ekrandaki animasyonda en ufak bir hız azalması olmayacaktır. Aksine animasyondaki hareketler daha akıcı ve kaygan görünüm kazanacaklardır.

Page-flipping (sayfa çevirme): Daha çok çizgi film ile uğraşanların kullandığı bu teknikte bir animasyonun tüm kareleri daha önceden hazırlanmıştır. Bu kareler bir hareketin saniyede en az 24'te 1'lik bir anını taşırlar. Sırayla bu kareler ekranda ard arda gösterildiği zaman resimlerdeki objeler hareket ediyormuş izlenimi verirler. Eminim hepiniz ilkokul yıllarınızda bir defter sayfalarına en sondan başlayarak her sayfa köşelerine birer adam çizip bu sayfaları hızla çevirmişsinizdir. İşte size page-flipping tekniğine en basit örnek!

Buffer: Director programında kullanılacak tüm resimler ilk önce hafızaya aktarılmalıdır (LOAD). Bu resimlerin karışmaması için de hafızada bunların bulundukları yerleri belirten bir tablomuz olmalıdır. Fakat tablo tutmak ve en az 6 rakamlı sayıları aklımızda tutma işlemi ile kimse uğraşmak istemediğinden program bunu bize otomatik olarak yapıyor. Fakat resimlerin nerelerde olduğunu bilmemiz için bize 1'den başlayarak hafızaya göre doğru orantılı olarak artış gösteren rakamlar kullanımımıza sunulmuştur. Bu rakamlar her bir resmin kodudur ve yüklerken bunları biz belirleriz. Daha sonra yüklediğimiz resmi kullanmak için onun adresi ya da ismi yerine onun kodunu kullanmamız yeterli olacaktır. Aynı şey ses ya da animasyon için de geçerlidir.

W dizisi: Director ile yapılan animasyonların bir hayli hafıza yediklerini er geç anlayacaksınız. Bu hafızadan mümkün olduğunca tasarruf edebilmek için BASIC'te bir hayli yer kaplayan dizi değişkenleri, bu programda çok kısıtlı bir şekilde kullanılabilmektedir. BASIC'te farklı isimlerde sayısız dizi yaratmak mümkünken, Director'da sadece tek bir dizi kullanabilirsiniz. Bu dizinin ismi '@'dir. Kullanacağınız tüm dizisel değişkenlerin hepsini bu dizi ismi altında toplamalısınız. Bu yüzden programınızın başında dizi boyutunu yeterli olarak tanımlamalısınız. Dizinin istediğiniz herhangi bir elemanını kullanabilmek için de '$' işaretini kullanmanız gerekecektir. '$' işaretinden sonra gelecek parantezlerin içindeki rakamla dizinin hangi elemanını kullanmak istediğinizi belirleyebilirsiniz.