Amiga Dünyası sayı 9, sayfa 43

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 43

Normal koşulda 'maske' %1111111111111111'dir. Yani her noktada renk vardır ve ekranda kesiksiz bir çizgi olarak görülür. Bunu %1111000011110000 olarak verirsek, ekrana çizilen çizgilerin kesik kesik olduğunu görürüz. Düz çizgiler için geçerli olmakla birlikte, istenen çizgi stilinde kullanılabilir. CIRCLE ya da ELLIPSE komutları için geçerli değildir.

Curs Off: Colour 1,$0 Set Line% 1100110011 Box 50,100 To 150,150 ____________ Şimdi de, bir şeklin içini boyama ya da doldurma komutlarına göz atalım.

PAINT KOMUTU: [PAINT(x),(y),(mod)] olarak kullanılır. Bir şeklin içini renklendirme ya da kapalı bir şekli doldurmaya yarar. X, Y boyanacak bölgenin herhangi bir noktasının koordinatlarıdır. MOD, ikiye ayrılır. MOD 0 olarak verilirse, ilk dış renkteki noktada boyamayı keser. MOD 1 verilirse: boyama, INK ile verilen renkten başka renk bulunduğunda durdurulur.

Curs Off: Colour 1,$0 Flash Off Do X1=XScreen(XMouse) Y1=YScreen(YMouse) CircleX1,Y1,15 PaintX1,Y1,1 InkRnd(16),Rnd(16) Wait5 Loop

BAR KOMUTU: BAR, BOX komutu gibi kullanılır. Sadece BAR ile yapılan dikdörtgenlerin içi doludur. [BAR (X1),(Y1) TO (X2),(Y2)] formatında kullanılır. X1, Y1 sol üst köşenin; X2, Y2 de sağ alt köşenin koordinatlarıdır.______ Curs Off: Flash Off

Colour 1 ,$0 Repeat I=Rnd(I5);X=Rnd(300)+10;Y=Rnd(170)+32;R=Rnd(30)+1

Ink 1: Bar X,Y To X+10,Y+10 Until Mouse Key 1 Ink 0 : Paint 0,0___________________________ POLYGON KOMUTU: POLYGON, içi dolu bir şekil elde etmeye yarar. [POLYGON (X1),(Y1) TO (X2),(Y2) TO (X3),(Y3)....] formatında kullanılır. Grafik kursorunun bulunduğu yerden başlayarak çizim yapılmak istenirse, [POLYLINE (X1),(Y1) TO (X2),(Y2)....] formatında da kullanılabilir. X1,Y1; X2,Y2; X3,Y3 çizgilerin başlangıç ve bitiş koordinatlarıdır. I Curs Off: Flash Off

Colour 1,$0 Repeat InkRnd(15) X1=RJKK200) : Yl=Rnd( 100): H=Rnd( 100): W=Rnd(90) PolygonX1,Y1 To X1+W,Y1To X1+W1/2,Y1+H ToX1,Y1 Until Mouse Key____________________________________

AMOS'ta, doldurma işlemi tek bir desen üzerinde olmaz. İstenirse desen değiştirilebilir. Hatta sprite bankasından kendi yaptığınız deseni kullanabilirsiniz.

SET PATTERN KOMUTU: Desen seçiminde kullanılır. [SET PATTERN (desen)] olarak kullanılır. Üçe ayrılır;

Desen=0 modunda, şeklin içi normal renkte ve desensiz olarak doldurulur.

Desen>0 modunda, AMOS'taki 34 desenden biri kullanılabilir. Bu desenler MOUSE.ABK dosyasının içinde saklıdır ve istenirse AMOS sprite programı ile değiştirilebilir. Fakat ilk üç desen mouse kursoru ile yapıldığından, 4. desenden sonraki desenleri değiştirmek doğru olur.

Desen<0, en güçlü moddur. Desen, bu kez sprite bankasını tercih eder ve şekil numarası aşağıdaki gibi hesaplanır:

SPRITE ŞEKLİ=DESEN*-1 Seçilen şekil, kullanımdan önce otomatik olarak aşağıdaki kurallara göre değiştirilecektir.

*Şeklin eni 16 noktaya indirilecek *Şeklin boyu ikinin katlarına yuvarlanacak. 1,2,4,8, 16, 32 gibi.

Şeklin düzenine göre, desen iki değişik şekilde ekrana yansır. İki renkli şekiller, monochrome olarak ekranda çıkar ve tamamıyla sayfa, çizgi rengini kullanır.

Birçok renk içeren desen yaratmak mümkündür. Bu düzende, şeklin rengi ile ön plan rengi AND'lenir. Sonra da sayfa rengi ile şeklin arka plan rengi OR'lanır. Böylece, değişik renkte desen elde edilir. Eğer orijinal renkleri kullanmak istiyorsanız, çizgi ve arka plan renklerini değiştirmelisiniz.

Yapılan şekli, sprite bankasından GET SPRİTE PALETTE ile çağırmayı unutma- malısınız.Aksi takdirde desenlerde, nor- mal desen ile boyama açısından bir deği- şiklik olmaz. I Load "AMOS_system/mouse.abk" Flash Off Curs Off Set Pattem -4 Get Sprite Palette Bar 100,100To 200,200_______________________

SET PAINT KOMUTU:

[SET PAINT (n)] olarak kullanılır. Dolu yani kapalı şekillerin dışına çizgi çekilip, çekilmeyeceği bu komut ile bilgisayara iletilir. n=1 ise, dolu şeklin dışı bir çizgi ile belirlenir. Bunun yararı, birbiri üzerinde aynı renkte olan şekilleri ayırt etmektir. n=0 ise, şekiller normal olarak çizilir.

I Curs Off: Flash Off Set Paint 1

I=Rjnd(15): X=Rnd(160)+10 : Y=Rnd( 130R32 : R=Rnd(35) Ink l,0 R : Bar X, Y To X+40,Y+40 , Wait5 Until Mouse Ke y Ink 0 : Paint 0,0

Şimdi de AMOS Basic dilinin yazı ile ilgili bazı komutlarına göz atalım.

TEXT KOMUTU: [TEXT (x),(y),( "karakter serisi")] olarak kullanılır ve verilen karakter serisini istenen koordinatlara yerleştirmeye yarar. X,Y değişkenleri yazının konulacağı koordinatları belirtmektedir. Verilen karakter serisi, tırnak içinde olmalıdır. _____ Flash Off

Dim A$(40) Input "kac tane isim";A ForI=l ToA Input sim";A$(I) "i Next I ForI=l ToA YAZ[ $(I)] A Nex I t End Procedure YAZ[A$] For 1=100 To 90 1 Text 100,I,A$ Wait 1 If 1= 182 Then Text 100,190," Next I EndProc _______________________________________

GR WRITING KOMUTU: Grafik üzerine yazı yazımında genellikle güçlük çıkar. İstenen tarzda yazılım yapılabilmesi için, AMOS'a GR WRITING komutu eklenmiştir. Diyelim ki, renkli bir şeklin içine yazı yazılacak. TEXT komutunu kullanıp yazdığınız zaman harflerin dışının sayfa rengini aldığını görürsünüz.

Curs Off Ink 2,5 Bar 100,100 To 200,200 Text 150,150,”AMOSTEXT” programı yazılıp çalıştırıldığında, yazıların şekilde boşluk yarattığını görürsünüz. Bunu ortadan kaldırmayı veya böyle bir yazılım yapmayı GR WRITING komutu sağlar.

[GR WRITING (n)] formatı altında kullanılır. n değişkeni binary olarak verilirse, yazılım modunu anlamak daha kolay olur. Bu modda verildiğinde, n değişkeni 3 bitten oluşur (%000 gibi). 1. bit 0, yani %000 olursa; bu moda Amiga'da JAM1 denir. JAM1'de yazılan yazı, şeklin üzerinde boşluklar yaratmaz ve hiçbir renk değişikliği bu modu engellemez.

Bar 100,100 To 200,200 Gr Writing %000 Text 150,150,"AMOSTEXT" 1. bit 1, yani %001 olursa; bu moda, JAM2 adı verilir. JAM2 modu, normal yazılım demektir. Yani GR WRITING komutu kullanılmadığı takdirde Amiga bu modda grafik yazılımı yapar.

2. bit 1 ise; Amiga, XOR modunda yazılım yapar. Bu mod, EXCLUSIVE OR dediğimiz lojiksel işlemi yapar. Bu modun yararı, değişik renklerle karşılaştığında, yazı renginin değişmesidir.

3. bit 1 ise, grafik yazılım modu INVERSEVID'dir. %100 olarak verilirse, karakter rengi ters çevrilir.

GrWriting %100 Text 100,100,,,GELGELELİM,, Bu modlardan 2 ya da 3 tanesi bir anda kullanılabilir. %101 verildiğinde, Amiga hem karakter renklerini tersine çevirir, hem de şeklin üzerinde yazılan karakterler tarafından boşluk bırakılmaz.

Circle 100,100,30 Paint 100,100,1 GrWriting %101 Text 100,100," YAZILIM" CLIP KOMUTU: CLIP komutunun işlevi, ekranı küçültmek diyebiliriz. AMOS'un normal ekranı sol üst köşe 0,0; sağ alt köşe de 320,200 olmak üzere 320*200 noktadan oluşmaktadır. Tüm işlemler, bu ekran içinde yapılmaktadır. Fakat CLIP komutunu kullanarak, bu ekranı istenilen koordinatlara indirgeyebiliriz. Yapılan tüm grafik işlemleri CLIP ile verilen koordinatlar içinde yapılır. Koordinatların dışında kalan işlemler ekrana yansımaz.

[CLIP (x1),(y1) TO (x2),(y2)] olarak kullanılır. X1,Y1 yeni grafik alanının sol üst köşesinin; X2,Y2 de sağ alt köşesinin koordinatlarıdır.

Curs Off Yl=YScreen(Y Mouse) Flash Off Circle X1,Y1 15 , Colour 1,$0 Paint X1,Y 1,1 Clip 50,50 To 200,150 Ink Rnd(16),Rnd(16) Do Wait 5 X1=XScreen(X Mouse) Loop

Klavyeyle gezinmek için ← ve → tuşları.