Bu sayfadaki yazılar
Sayfanın metni
Sayfa 22
Merhaba! İkinci kez "Merhaba" çünkü geçen ay AmosPro'yu benim yerime Volkan hazırlamıştı. Geçen ay yayınladığımız programın yararlı olduğunu umarım (tik tak tik tak). Bu yazımda ilginizi çekeceğini umduğum bir komuta, açıklayıcı ve çeşitli sorulara yer veriyorum.
Bu ayki şanslı komutumuz:
— Screen Offset; yeni başlayanlar, AMOS'u kötü bir Shoot'em Up sanan--
Screen Offset <Ekran No>, <X koordinatı>, <Y koordinatı>! AMOS ile gerçekten neler yapılabileceğini bilmiyor veya merak ediyorsanız, gelmiş geçmiş en iyi AMOS köşesinde, AMOSPRO'da aradığınızdan da fazlasını bulacaksınız.
Gör Ekranın belirtilen koordinatlardan itibaren görünmesini sağlar. Eğer koordinatları kısa aralıklarla hızla değiştirirseniz ekranın kaydığını göreceksiniz. Gerçekte Amos, ekran numarasını verdiğiniz ekranın başlangıç adresini değiştirir. Bu işlem de yapabildiği en hızlı işlerden biridir. Bu sayede bir frame'de (saniyede 50 tarama) hem ekranı kaydırabilir hem de diğer işlemlerinizi yapabilirsiniz. Şimdi sıra ufak programımızda. Yalnız bir hatırlatma, bildiğiniz gibi dergimiz her sayıda yeni bir disk hazırlamakta (isteyenler formda belirtilen şekilde diske sahip olabilirler). Bu diskin içinde çeşitli Public Domain, ShareWare ve FreeWare programlar bulunmakta. Ayrıca bu itibaren Amos örnek programlarını da disk içinde bulabileceksiniz. Program, çalışması için gerekli grafik, ses ve diğer datalarıyla birlikte çalışmaya hazır vaziyette. Size Amos'dan yükleyip çalıştırmak kalıyor (Bu arada resim Scenery Animator ile yaratılmıştır. Sanırım bir ara dergide bu programı da açıklayacağız ve ilk versiyonu ki bu PD'dir; MANYETİK PAKET içinde yer alacaktı, paniğe gerek yok bizi bekleyin) Şimdi programa Örneğimiz Screen Offset komutuyla yapılan birkaç kapsamakta, Programı daha iyi kavrayabilmeniz için önemli gördüğüm bazı satırları açıklamak istiyorum. Hemen başlangıçta belirtmek isterim, yeri geldiğinde bu komutları daha geniş ve örnekleriyle açıklayacağım. Şu anda kısaca geçiyorum, "Bu ne biçim açıklama yav" demeyin. Korkmayın, paniklemeyin, amuda kalkmayın. Ayrıca programı kendiniz Amos'a yazacaksanız, satır başlarında bulunan satır no'larını yazmayın, bunlar sadece programın daha kolay anlatılması için konulmuştur. 1. satır ve HIDE komutu. Bu komut mouse pointer'ının kaybolmasını sağlar. 2. satırdan 11. satıra kadarki satırlar ekran düzenlemeleri ve ekrana çıkacak resmin çizilme işlemleri. 11-16 arası satırlar efekt için kullanılan ekrana resmi kopyalar. Screen Copy komutu için ufak bir açıklama. Komut ekrandan istenilen ekrana verilen aralıktaki ekran bölgesini verilen noktadan itibaren kopyalar. Sanırım hiçbir şey anlamadınız. Kullanılış vermek daha uygun olacak. Screen Copy (Ekran 1 no), (x1), (y1), (x2), (y2), to (Ekran 2 no), (x3), (y3), "Ekran 1" no'lu ekrandan x1, x2, y1, y2 aralığındaki dörtgen bölge "Ekran 2" no'lu ekranın x3, y3 noktasından itibaren kopyalanır. 15-19 arasında efekt 1'in gerçekleştirdiği satırlar yer alır. Satırları incelediğinizde döngü içinde yer alan Screen Offset komutunun olduğunu düşünürsek şu anda 100,0 ile 420,256 arasında kalan bölge görüntülenmekte. Şimdi döngümüze dönelim, döngü değişkeni olan K'nın 640 olduğunu düşünürsek ekranın o anda 640,0 ile 960,255 arası görüntülenmekte. 960, grafiğin X eksenindeki uzunluğudur. Eğer olur da bu döngüdeki 640 sayısını daha artırın. 640'ın üstüne çıktığınızda ekranın altında kirlenmeler göreceksiniz. Bunun sebebi, yazının ilk başında belirttiğim gibi, Screen Offset komutu ekranın gösterilen bölümünün adresini değiştirmesidir. Eğer ekran limitlerini aşarsanız artık görüntüye ekrana ait olmayan hafıza bölgeleri çıkacaktır. Bu da ekranın kirlenmesine sebep olacaktır. Bu da Screen Offset komutu kullanılırken dikkat edilmesi gereken en önemli nokta (Tısss tak dum ta tak). Şimdi sıra ikinci efekte geldi. Gördüğünüz gibi bu efekt 20. ile 31. satırlar arasında yer almakta. Bu satırları açıklamadan, siz kendiniz rutinin ne yaptığını araştırırsanız program sizin için daha faydalı olacaktır (Editör- Aslında bilmiyor). Deneyin... Evet, açıklamaya başlıyorum (Ed- biliyormuş). Rutin sayesinde ekran 1 ile 360 arasında X ekseninde kaydırılmakta. İlk döngü yani 21. satırda başlayan döngü step miktarını ayarlamak için kullanılıyor. Yani, L değeri 1 iken ekran 1'er piksel (nokta), 2 iken 2'er piksel kayacaktı. 22. satırda başlayan döngüyle ve onu izleyen satırlarda ekran belirlenmiş steplerle X ekseninde sağdan sola doğru kayacaktır. 26. satırdan 30. satıra kadar olan döngü ise ekranı soldan sağa doğru kaydırılır. 21. başlayan döngü sayesinde bu ekran kaydırma işlemleri 4 kez tekrarlanacaktır. Fakat komutuyla ekran X ekseninde kaydırılmakta. Daha sonraki satırda Wait Vbl komutunu görüyorsunuz. Bu komut ekran taramasının bitmesini bekler. Döngü gördüğünüz gibi 640'a kadar sürmekte. Bunun sebebine gelince ekran 960'a 400'lük ama herhangi bir anda sadece 320'ye 256'lık bölümü görülmekte. Yani ekranın sol üst köşesinin 100,0 her defasında bir öncekine göre daha hızlı kayacaktır. Hatırlayacağınız gibi bu döngü step ayarlamasını yapıyordu. Ve örnek programımızdaki son efekt, 3 no'lu efekt. Bu efekt 31. satırdan itibaren başlıyor. Bu satırdan sonraki satırları inceleyip, yapılan işlemi anlamaya çalışın. Açıkçası programın en karmaşık kısmı bu-
Benim kullandığım grafik Scenery Animator aracılığıyla hazırlandı. Sizin kullanacağınız grafiklerin programınızın konusuyla ilgili olması programı daha etkili kılacaktır.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 23
Screen Offset : iz Örnek 2.0 * — * (1) Hide (2) Urpack 6 To0 (8) Screen Open 1,960,400,32,Lowres (4) Screen Display 1,130, 320,256 (5) Curs Ot (6) Flash Ot (7) Cis0 (8) Get Palette 0 (9) Screen Copy 1 (10) Screen Copy 1,0,0,320,256 To 1,320,0 (19) 1 (12) For To 0 Step -t (13) — Screen Copy To,
rası (eyvah). Hepiniz bilirsiniz birinden bir şeyi öğrenirken öğreten konuyu örnekler yardımıyla açıklar, en sonunda da size bir soru verir ve soruyu çözmenizi bekler. Rastlantı bu ya, soru öğretenin çözdüğü örneklerden her zaman daha zor olur, ben bunun şans olduğunu düşünürüm. Eh bu satıra kadar programı sürekli ben açıkladım. Şimdi de sıra sizde, 3 nolu efekti kendiniz çözün, ben anlatmayacağım. Size güveniyorum. Eğer olur da çözemezseniz kendinizi öldürmeye kalkmayın bana yazın, sonraki yazımda burayı açıklarım.
AMOS İlkyardım
SORU : Degree komutu ne işe yarıyor? CEVAP : Amos'lar açılışta Radyan cinsinden hesaplama yaparlar. Degree komutu ile bu işlemlerin derece cinsinden yapılması sağlanır.
SORU : Get Fonts komutuyla fontları alamıyorum? CEVAP : Get fonts komutu makinanızı boot ettiğiniz disk içindeki FONTS directory'si içinde font arar. Eğer FONTS directory'niz yoksa bunu yaratıp fontları bunun içine atın. Eğer boot diskinde değil başka bir diskte font kullanmak istiyorsanız ASSIGN komutunu kullanarak yeni diski tanıtın. ASSIGN ile ilgili açıklamayı Amiga ile birlikte verilen OS kitabında bulabilirsiniz.
birinci sayıyı almayanlar veya alamayanlar ve diğerleri, hepiniz için tekrar,
(14) Next (İS) Screen Copy 1,0,0,320,256 To) 1,640,0
(16) For K<t To 640 — Screen Ofiset 1.K,O (18) — Wat Vbi (19) Next (20) Efekt 2 Burada degisik bir efekt var (21) ForL-t To4 (22) — To 360 (23) Offset 1,K,O (24) Wait Vbi (25) — Next (26) — ForK<360T0 1 Step -L (27) Screen Offset (28) Wait Vol (29) — Nexi (30) — Next
Efekt 3 En şirin efekt (32)
adresimizi veriyorum. Herzaman olduğu gibi, AMIGA Dergisi emrinizde. Takıldığınızda, zorlandığınızda hemen sarılın kalemlere ve derdinizi kağıda döküp doğru
AMIGA Dergisi AmosPro adresine postalayın. Bekliyor olacağım. Evet bir AmosPro yazısının da sonuna geliyoruz. Son satırlarımda bazı ufak istekler, biraz da nutuk atacağım. Bu köşenin sizin istek ve sorunlarınızın da yer aldığı, bir köşe olmasını amaçlıyorum. Bu yüzden bana istediğiniz her konuda yazabilirsiniz. Amos veya makinayla ilgili sorularınızı, çiğ börekten neden nefret ettiğinizi, çok iyi Taklamakan çölü hikayesi anlattığınız, sevgilinizin sizi çok sevdiğini veya dehşet bir şekilde birinden hoşlandığınızı, Number One FM'in yayınlarından hoşlanmama, Gun's N Roses'ın son albümünü, yani istediğiniz her konuda bana yazın kendi gönderin dergide yayınlayalım (Bu programlar için herhangi bir ücret ödememiz söz konusu değildir. Eski Commodore Dergisi alışkanlıklarınızı bir kenara atın ve herkese yararlı bir şeyler yapmaya çalışın). Mektuplarınız, programlarınız ve gönderdiğiniz her şey (yerimiz elverdiğince) yayınlanacaktır. Yeter ki üşenmeyin yazın, ne kadar çok yazarsanız, sayfa artırma ihtimalim o kadar artar.
(83) Yz0 (34) (35) Kz0 (36) While 1 (37) — Screen Ofset 1,X,Y (38) — Wait Vbi (39) — (40) (81) (82) ART-2 (83) (44) — Endil (45) (46) Gn (48) (49) (50) Edit (51) (52) Wenc
Ve bir ilan faslında bunu Okuyucu vermeliydim ama umarım Celal bu aylık burada idare etmeme izin verir): 'ISAAC ASIMOV'a ait Foundation serisindeki (ki bunlar Türkiye'de İmparatorluk serisi olarak yayınlandı) tüm kitapları arıyorum. Satmak isteyenler benimle irtibata olurum. Not: Sakın ilanlarınızı bana yollamayın, zira yerim yok! Okuyucu İlanları sizler için hazırlandı ve gelecek sayıdan itibaren tüm okuyuculara açık. Bu arada Volkan Uçmak'ın bu sayıdaki "YARINLARI" başlığı altındaki yazısını okusanız iyi olur. Amiga hakkında bilgi edinmek isteyenler için yararlı olacaktır. O kadar şeyi nereden öğrenmiş bilmiyorum. Sanırım Commodore'un Türkiye distribütörü olmaya niyetli. Hoş tek başına bile çok iyi takip edebileceğinden eminim. Son olarak da alçakça bir saldırıyla şehit düşen gazeteci-yazar UĞUR MUMCU'nun ölümünden duyduğum üzüntüyü belirtmek istiyorum. Sadece ben değil tüm dergi elemanları büyük üzüntü içindeyiz. Dergi olarak saldırıyı ve düzenleyenleri kınıyoruz (umarım bir işe yarar). Bu tip saldırılarla MUMCU gibi insanları susturduklarını sanan zavallılar, onun ve fikirlerinin bizler için hiçbir zaman yok olmayacağını bilmeliler. Değerli yazarımızın anısı önünde saygıyla eğiliyorum. Gelecek ay AMOSPRO'da tekrar görüşmek üzere.
TOLGA KAHRAMAN