Bu sayfadaki yazılar
Sayfanın metni
Sayfa 16
Tekrar Merhaba ! Yeniden Amos Pro ile karşınızdayım. Bu aydan itibaren daha profesyonel çalışmaya başlıyoruz, haberiniz olsun. Artık Amos Pro köşesinde komut açıklamak veya ufak efektler vermek yerine işe yaramaya çalışan programlar vereceğim. Yalnız programlar sizin yardımınızla gelişecek, yani sizden programda kullanmak için fikir ve rutinler bekliyorum. Yeri geldiğinde yine önemli gördüğüm bazı konuları ve komutları açıklayacağım. Örneğin; Bob, Dualplayfield gibi. Ama bu açıklamalar komut açıklaması halinde değil, ufak programlar içinde olacak. Ağırlık, başta belirttiğim gibi programcılıkta olacak. Sizden her konuda rutin ve fikir bekliyorum. Herhangi bir konuda yazdığınız programları bana gönderebilirsiniz. Dergide yayınlanacaktır. Bu aya kadar hiç kimse hiçbirşey göndermediğinden herhangi birşey yayınlayamadım. Bu ay ise inanılmaz birşey oldu ve bir okurdan program geldi. Yazının sonunda programı bulabilirsiniz. Demo efektleri ile ilgilenenlerin ilginç bulacaklarından eminim. M. Devrim Erdem'e programı için teşekkürler. Sanırım ilerideki sayılarda da ona ait rutinleri yazılarımda bulacaksınız.
Ve şimdi biraz haber; Amos Pro, Kickstart V3.0 makinalarda çalişmıyor. Şu anda çalışabilen tek Amos versiyonu, Amos 1.35. AGA'yı desteklediği söylenmekte, ama pek inanmayın. Çünkü, hala 1008'e 1008'lik ekran sınırı inatla korunmakta(!). Yeni blitter' ne kadar iyi kullandığı ise tartışılır Yazdığınız programlar tabi ki daha hızlı çalışıyor. Ama 3.0 makinaların en ufak modeli A1200'de bile 68020 olduğu düşünülürse bu hız makinanın getirdiği bir üstünlükmüş gibi geliyor. Amos 1.35'in ise panik içinde çıkarılmış bir versiyon olup olmadığı sorusu insanın aklına takılıyor. Hala Amos 1.30 kullananlar için bu versiyon ek bir özellik getirmekte, artık Noise Tracker modüllerini direkt Amos Bank'ı olarak alıp çalabilmesi. Yazımın içinde bu komutların kısa açıklamalarını bulabilirsiniz. İkinci haber ise bir oyunla ilgili. Türkiye'de Amos ile bir oyun daha yapıldı. UMUT TARLALARI. Uzun zamandan beri çalışmaları süren oyun geçen aydan itibaren satışa sunuldu. Tanıtımını bu sayıda bulabilirsiniz, kendilerine başarılar dilerim.
Haberler bitti. Şimdi ilk olarak Noise Tracker komutları ve ardından bu ay başlayan programımız. Track Load "Modül ismi",bank no Modülü verilen banka yükler. Track Play bank no. Verilen bank no'daki modülü çalar. Track Stop Müziği durdurur. Evet heyecanla beklediğiniz bölüme geldik. Bu ayki program ve açıklaması. Açıklamaya geçmeden belirteyim verdiğim program henüz tamamlanmış durumda değil. Başta da belirttiğim gibi programı beraber geliştireceğiz. (Eğer birşeyler göndermeye niyetlenirseniz). Program IFF resimler üzerinde çeşitli efektler yapmaya yarıyor. Bu sayıda verdiğim kısım ise sadece ikon kontrol ve bazı ikonların işlevlerinden ibaret. Ekran efektleri henüz hazır değil. Ne tip efekt yapacağıma da henüz karar vermedim, önerilerinizi bekliyorum. Program içinde daha önceden açıklamadığım bazı komutlar var. Bunların kısaca açıklamasını vermek istiyorum.
XMouse , YMouse : Mouse pointer'ının X ve Y pozisyonlarını öğrenmekte kullanılır. XScreen , YScreen : Program içinde bu komutların kullanımı Xscreen(Xmouse) şeklinde. Bu kullanım sayesinde Mouse pointer'ının ekran üzerindeki X pozisyonunu öğrenebilirsiniz. Limit Mouse X1,Y1 to X2,Y2
Mouse pointer'ının verilen koordinatlar dışına çıkmamasını sağlar. Parametre vermeden kullanırsanız. Mouse ekran boyundaki alanda sınırlanır Text X,Y, "YAZI" basar.
: Verilen ekran koordinatlarına verilen yazıyı
Bu aylık bu kadar gelecek aya sizlerden gelen önerilere ve rutinlere yer vermek isterim. Bu yüzden bana yazın veya dergiyi arayın. Kendi yaptıklarınızdan bahsedin. Varsa örnekler gönderin. Sadece oyun oynayan insanlar olmadığınızı kanıtlayan birşeyler yapın. Görüşmek üzere.
TOLGA KAHRAMAN
'* Efekt 1.00 - Amiğa Dergisi 1993 *
Dim IKONT(10,2),İKONB(10,2),IKONTEX$ (10) Dim İKONCOL (10) Global İKONB () , İKONTEX$ () Global IKONCOL () , IKONSAY INITPROG MAIN
Procedure MAIN Limit Mouse 128,243 To 448,308 Do If Mouse Key-l MX—X Screen(X Mouse) BASILAN-0 For To IKONSAY If MX>-IKONT(K,1) If MX<-IKONB(K,1) BASILAN—K Exit End If End If Next If BASILAN>O SHADEBOX(IKONT(K,1),İIKONT(K,2), '© İKONBİK,1), İKONTEX$(K), IKONCOL(K) | If BASILAN-2 Limit Mouse Limit Moüse 128,243 To 448,308 Screen To Front 0 : Screen O İKONB(K,1),IKONB(K,2),True, Ve IKONTEX$ (K) , (K) |
: MY-Y Sereen(Y Mouse)
and MY>-IKONT(K,2) and MY<-—IKONB(K,2)
End If İf BASILAN-3 Limit Mouse SAVIFF Limit Mouse 128,243 To 448,308 Sereen To Front O : Sereen O SHADEBOX(IKONT(K,İ),İKONT(K,2), '© IKONB(K,1),IKONB(K,2),True, 8 İKONTEX$ (K) , IKONCOL (K) | End I1f If BASILAN-7 Fade 5 Exit End if End If End If Loop End Proc
Procedure INITPROG Degree Screen Open Screen Display Palette ie O; O, Or
NOT: Program dökümünde kullanılan işareti sütunlarımızın darlığı yüzünden kesilen satırları belirtmektedir. Lütfen bu karakteri gördüğünüz satırda devam edin ve sonuna kadar return veya enter tuşlarına basmayın.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 17
Curs Off Flash Off Ink 1 : Paint 0,0 SHADEBOX(0,0,639,49,True,'”',0) ink 3 : Set Text 6 Text 5,60,"Efekt 1.00 Set Text 0 INITIKON BASIKON End Proc
Change Mouse 2
Procedure INITIKON IİKONSAY-7 For K-İ To IKONSAY Read IKONT(K,1),IKONT(K,2) Read IKONBİK,1),IKONBİK,2) Read IKONTEX$ (K) , IKONCOL (K) Next Data 6,2,106,15,"IFfE",15 Data 6,17,106,30,"Load If£",5 Data I£f£",5 Data 118,2,184,15,"Sinus",15 Data 118,17,184,30,"xX",4d Data Data 580,2,630,45,"Ouit",15 End Proc
Procedure BASIKON For K-l1 To IKONSAY If(K/4)*4-K or K-l SHADEBOX(İKONTİK,İ),IKONT(K,2), Ve IKONB(K,İ),IKONB(K,2),-2, 'e IKONTEXŞ$ (K), IKONCOL(K) | Else 'e IKONTEXŞ$ (K), IKONCOL (K) | End If Next End Proc
Procedure ALANSEC Gr Writing 2 : B-0 Repeat İf Moüse Key-l AX1İ—X Screen(X Mouse) AYİ-Y Screen(Y Mouse) AY2-AYI While Mouse Key-i Bok AXİŞAYİ To AX2,AY2 AX2-X Screen(X Mouse) AY2-Y Screen(Y Mouse) Box AXI,AYI To AX2,AY2 Wend Box To AX2,AY2 GRABBED-True If AXI>AX2 then T-AXI İf AYI>AY2 then T-AYI End If Until GRABBED Plot AXİ,AYI
: :
Gr Writing 1
End Proc Procedure LODIFF resim secin") If FİLEŞ-"" then Pop Proc Load Iff FİLEŞ,4 End Proc Procedure SAVIFF if FİLEŞ<>U"" FILEŞ-Fsel$(FILEŞ,FILEŞ,"Iff resim secin") If FILEŞ-"" then Pop Proc Screen 4 Save Iff FILEŞ Screen 0 Else Yuklenmis proje bulunamadi...",1)| End If End Proc
Procedure Repeat Until Mouse Key-0 Screen Open 2,640,25,4,Hires Sereen Display
Limit Moüse 128,231 To 447,240
Curs Off Flash Off Palette $0,$BA9,$730, $FED Cls 1
UZX-Text Length (HT$) TXYER— (640-UZX) /2 SHADEBOX(0,0,640,24,True,"",0)| Ink O Text 2,9,HTŞ4*Spaceş (78) if BUT-İ1İ SHADEBOX(268,13,370,22,True,"Ok",0)
Repeat : Üntil Mouse SEC-İ Else
SHADEBOX(4,13,106,22,True,"OoOk",0| SHADEBOX(533,13,635,22,True,"Vazgec",0) SEC-0 Repeat If Mouse Keys-sl If X Moüse->130 and Y Moüse->232 If X Mouse<-180 and Y Moüse<-239 SHADEBOX(4,13,106,22, er False,"Ok",0) Wait 1 : SEC-İ End If End If If X Moüse->394 and Y Mouse->232 If X Mouse<-445 and Y Mouse<—239 Wait 1 ; SEC-2 End If End If End If Üntil End 1f Sereen Close 2 End ProclSEC)|
Limit Mouse
Procedure SHADEBOX If SHADE-True then If SHADE-False then ILKRENK-2 If SHADE<>-2 Ink IİLKRENK Draw X1,Y1 To X2,YI Ink SONRENK Draw To X2,Y2 End If Ef Ink TXTCOL UZX-Text Length (TXT$) TXYER— (X14X2-UZX) /2 Text TXYER, TYYER, End If End Proc
SONRENK-2 SONRENK-3
Draw X1,Yi To X1,Y2
Draw X2,Y2 To
UZY-Text Base TYYERE(Y2*YLTUZY)/2
Rem *** Mustafa Devrim Erdem ***
Screen Open 0,320,200,4,Hires Palette 0,$FO0OF,, Degree Flash Off Cürs Off Cls O : Hide Screen Open 1,320,200,4,Hires Cls 0 : Sereen Hide 1
Cürs Off Get Palette (0
Procedure LINESİK,Y| Screen 1 : Cls O For To 320 Step 40 Draw X,0 To K,Y Draw X,200 To K,Y Next Sereen Copy 1 To 0 End Proc Ink 1
Do For To 360 H—50*Cos (2*3*A) LİNES(H,YI Next Loop