Bu sayfadaki yazılar
Sayfanın metni
Sayfa 45
Merhaba arkadaşlar. Yine her zamanki gibi bir aradayız. Bu ayki yazımda, ilk olarak geçen ay verdiğim programların açıklamasını yapacağım. Daha sonra da kaldığımız yerden AMOS'un komutlarını açıklamaya devam edeceğim.
'HAM DEMO' programının açıklamasından başlayarak bu ayki AMOS tanıtımlarımıza başlayalım. Programın ilk satırında 320'ye 290 büyüklüğünde bir ekran açılır. Daha sonra da ekran monitor'e yerleştirilir. Bundan sonra 'cursor' kapatılır, ekran temizlenir ve renklerin yanıp sönmesi engellenir. Ekrana 'AMOS-HAM' yazısı yazıldıktan sonra, resmin çizilmesine başlanır. Burada üç tane iç içe 'for-next' döngüsü vardır. Ekranda göreceğiniz şekil burada çizilir.
'Colour B,B : Ink B : Bar 32,B* 15+32 To 288,B* 15+47' satırı ile mavi bileşeni B'ye eşit olan bir kutu çizilir. Daha sonraki döngülerde de sırayla kırmızı ve yeşil bileşenleri çizilir.
İkinci program. Mart sayısında yazdığım 'demo 2' programının benzeri. Bu program, açıklamasını gelecek ayki sayıda vereceğim 'rainbow' komutuna örnektir.
Şimdi de ekran komutlarının açıklamasına kaldığım yerden devam ediyorum. Bu sayımızda önce 'dual playfield', 'dual priority', 'screen height', 'screen width', 'screen colour', 'scin' ve 'cls' komutlarını yazacağım. Daha sonra da ekran kaydırma komutları olan 'def scroll' ve 'scroll' komutlarını anlatacağım.
KOMUT: Dual playfield KULLANILIŞ: Dual playfield e1,e2 Bu komut, AMOS'un en güçlü komutlarından biridir. Hepinizin bildiği gibi, AMOS aynı anda birden fazla ekranı gösterebilir. Fakat iki ekran üst üste geldiğinde, önde olan ekran diğerini kapatır. Bundan başka, monitör ekranının bir tarama satırında sadece bir ekran görüntülenebilir. Fakat bu 'The shadow of the beast' oyunundaki gibi, birbiri arkasında kayan ekranlar yaratılmasını engellemez. Bunu nasıl mı yapacağız? Tabii ki 'dual playfield' komutu ile! 'dual playfield' komutu, 'e1' ve 'e2' olarak belirtilen iki ekranın görüntülerini monitörde üst üste gösterir. İşin güzel yanı, bu ekranlara hala birbirinden bağımsız olarak kumanda edilebilmesidir. 'e1' ve 'e2' ekranları, daha önceden 'screen open' komutu ile tanımlanmış olmalıdır.
Ne yazık ki bu komutun da kendine göre kısıtlamaları vardır. Örneğin birleştirilen iki ekranın da aynı çözünürlükte olması gerekir. Bundan başka sadece belirli ekran kombinasyonları mümkündür. Bunlar aşağıdaki gibidir:
BURAK ÖZDEMİR 1.Ekran 2.Ekran renk sayısı renk sayısı 2 2 4 2 4 4 8 4 8 8 Sekiz'e dört ve sekiz'e sekiz'lik ekranlar sadece düşük çözünürlükte mümkündür. Bundan başka renklerin kullanımında da dikkat edilmesi gereken hususlar vardır. İki ekranın renkleri de birinci ekranın renk paletinden alınır. '0' numaralı renk saydamdır. '0' ile '7' arasındaki renkler birinci ekrana, '8' ile 15' arasındaki renkler de ikinci ekrana aittir. Örneğin ikinci ekrana çizim yapıyorsanız, 'Ink 4' komutu birinci ekranın renk paletinden '11' numaralı rengi seçer. Bu komutun kullanılışıyla ilgili bir örneği Mart sayımızda yazmıştım.
KOMUT: Dual priority KULLANILIŞ: Dual priority e1,e2 Normal olarak 'dual playfield' komutu ile birleştirilen iki ekrandan ilki, ikincisinin önünde gösterilir. 'Dual priority' komutu bu durumu tersine çevirmek içindir.
KOMUT: Screen height KULLANILIŞ: y=screen height [n] Bu komut 'n' numaralı ekranın yüksekliğini belirler. Eğer ekran numarası verilmemişse, o an aktif olan ekranın yüksekliği verilir.
KOMUT: Screen width KULLANILIŞ: g=screen width [n] Bu da 'screen height' komutu gibidir. Yalnız bu sefer ekranın genişliğini verir.
KOMUT: Screen colour KULLANILIŞ: r=screen colour [n] Bu komut, seçilen ekranda gösterilebilecek olan maksimum renk sayısını 'r' değişkenine atar.
KOMUT: Scin KULLANILIŞ: e=scin(x,y) 'scin' komutu, 'x' ve 'y' koordinatlarının hangi ekrana ait olduğunu bildirir. Burada 'x' ve 'y' değişkenleri 'hardware' koordinatları cinsindendir. Yani monitör ekranının koordinatlarıdır. Şimdi aşağıdaki kısa örneğe bakalım:
e=scin(X mouse.Y mouse)
Bu satır, 'e' değişkenine mouse'un o anda üzerinde olduğu ekranın numarasını verir.
KOMUT: Cls
KULLANILIŞ: Cls
Cls renk Cls renk x1,y1 to x2,y2 Bu komut, o an aktif olan ekranın tamamını ya da bir bölümünü silmek için kullanılır. Üç değişik kullanılış şekli vardır. Tek başına kullanıldığında, bütün ekranı siler. 'Cls renk' ile ekran silinir ve 'renk' değişkeni ile belirtilen renk ile doldurulur. Üçüncü kullanılış şeklinde ise, ekranın istenen bir bölgesi silinir ve renklendirilir.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 44
TEST PATTERN: Seçmiş olduğunuz efektin nasıl bir şey olduğuna bakmanız için.
TEST DEMO: Yaptığınız demo'yu kontrol etmek için. Bu seçenekle bütün patternleri de görmüş olursunuz.
DELETE PATTERN: Yapmış olduğunuz bir efekti silmek için kullanılır.
INSERT PATTERN: Yeni bir efekt ilave etmek için kullanılır.
QUIT: Ana menüye geri dönmek için. SCREEN MODE: Bu seçenek yardımıyla, ekranın durumunu ayarlayabilirsiniz. Burada ekranda kayacak scroll'un hangilerinin aktif olacağını ve müzik çalıp çalmayacağınızı ayarlayabilirsiniz. UP / DOWN SCROLL'u ON/OFF yaparak scroll'ların kayıp kaymayacağını ayarlayabiliriz. Aynı şekilde müziği de ON/OFF yaparak ne zaman çalıp çalmayacağını ayarlamamız da mümkün.
BIG LOGO: Bu seçenek yardımıyla, ekrana büyük logolar koyabilirsiniz. İsterseniz arka plana kayan yıldızlar da koyabilirsiniz. Son kez hatırlatıyorum burada yazdığım efektleri yaratabilmeniz için ilk başta gereken objeleri yüklemeniz gerekir. Burada kaç numaralı logoyu ekrana basmak istiyorsanız, o logonun numarasını yazmanız gerekiyor.
Bunun için LOGONUMBER'a kaç nolu logo olduğunu yazın. DIRECTIONS seçeneğiyle, logonun ekrana çıkış pozisyonunu ayarlayabilirsiniz. 8 tane directions bulunmakta. Bu sayede logoyu ekrana 8 şekilde basabilirsiniz. Örneğin sağdan sola, soldan sağa doğru kayarak getirtebilirsiniz. Yukarıdan aşağıya, aşağıdan yukarıya ya da çaprazlara doğru logoyu hareket ettirebilirsiniz. Bunları yapmak için, DIRECTIONS'ın üzerine gelin ve mouse'un sol tuşuna basın. Her bastığınızda directions'ı bir arttırır, sağ tuşa her bastığınızda bir azaltırsınız. Bunlardan başka ZOOM ve FLOOD efektleri de var. Bunların nasıl şeyler olduğunu anlatmam biraz zor, bu yüzden kendiniz deneyin ve görün.
CLEAR fonksiyonları ile, logoyu ekrana basarken ya da silerken değişik efektler elde edebilirsiniz. Bu efektlerin ekranda kaç saniye gözükeceğini de ayarlayabilirsiniz. TIME, normalde 10'dur; ama yaptığınızı görmek için TIME'ı 1 yapın ve olayı hemen görün. Burada bulunan ayarları yapmak için, mouse işaretçisini (örneğin time'ın yanında bulunan 0010'a) getirin ve sol tuşa basın. Sonrada klavyeden istediğiniz değeri girin. Sanırım Big logoyu anlamışsınızdır. Bu yüzden Little logoyu anlatmıyorum.
Şimdi de ekrana tekst basmayı anlatacağım ve esas can alıcı olayları gelecek aya bırakacağım !!!...
TEXT SCREEN 16: Burada 16'lık fontlardan oluşan bir tekst ekranı basılır. Daha önce editlediğiniz tekst ekranlarını aynen bu fonksiyon yardımıyla kullanabilirsiniz. 8'lik ve 32'lik ekranların da basımları aynı. Ekrana tekst koyarken arka plana sağa ya da sola kayan yıldızlar koymanız mümkün. İlk başta yazan SPRITE : NON - >, ekranda hiç sprite bulunmayacak anlamındadır. NON yazan yerin üzerine gelip mouse'un sol tuşuna basarsanız, SPRITELEFT yazısını yapmış olursunuz. Böylece sola doğru kayan yıldızları yaratabilirsiniz. Bunun için daha önce sprite objesi yüklemiş olmanız gerekir.
Evet, siz bu programı biraz daha kurcalayadurun, biraz daha uğraşın. Ama gelecek ay size çok cool tips&tricks'ler vereceğim. Böylece arkadaşlarınıza gösterebileceğiniz çok iyi demolar ve introlar yapabileceksiniz. Ama benim tavsiyem kısa sürede makine dilini öğrenip kendi demolarınızı makine dilinden yapmanız.
CU NEXT MONTH !!!!!!......
U Z N I C 2 1 - S O C C E R D I R E C T O M e r k e z : R a y S o k