Classlar (as3için) Classlar flashın açılışında actionscript dosyası seçilerek yazılır Package Myersoy // My Ersoy clasın içinde bulunduğu klasörün ismi olmalı eğer class bu klsörün içindeki başka bir klasörde ise ozaman Myersoydan sonra nokta konarak klasörün ismi yazılır. Bir dosyanın içinde birden çok farklı isimlerde class tanımlanabilir. { Public class Ersoy // public heryerden ulaşma yetkisi verir eğer interval dersek sadece belirtilen yerden ulaşılabilir eğer bir şey yazılmazsa flash bunu interval kabul eder sadece o klasörden ulaşılabilir public Var as:String=”ahmet”; // veri tanımlaması fonksiyonları dışında ve clasın içinde ise o zaman onuda yetkilendirmek gerekir { public function Ersoy():void //clasın içindeki fonksiyon classla aynı isimde olmalıdır.burayıda yetkilendirmek lazım public ve { Var ad:String=”ali”; //burada yetkilendirme yapılmadığı için bu fonksiyon dışından çağrılamaz. } Private function yeni():void//private yetkisi bu fonksiyona sadece Ersoy clasından ulaşılabilir yani klas içinde çalışır ve kullanılır { Trace(“merhaba”); } } }
Classı flashtan çağırma İmport Myersoy.klasor.Ersoy; //bir class çağırırken olması gereken import ve tam adresi noktalı olarak Var arsoy:Ersoy=new Ersoy(); //burada Ersoy clasının bir kopyası arsoy adıyla oluşturuluyor zaten direk class üzerinde sonradan böyle çalışamayız Trace(arsoy.as) //fonksiyonların dışındaki değişkeni çağırma
Trace(arsoy.yeni()); //clas içindeki fonksiyonu çağırma
Bir classı başka bir klasta kullanma: Package Myersoy.matematik { İmport flash.display.movieclip; //burada dışarıdan bir klas çağırıyoruz bu moviclip sınıfı ve bunu diğer klastan önce belirtiriz. Bu yöntemle istediğimiz kadar sınıfı dahil edebiliriz. Public class A extends B //burada A klasına B klasını çağırıyor böylece B dekiler sanki A daymış gibi hareket eder.yani sanki içine kopyalar. Extands metodunda sadece bir klas eklenebilir. { Public var mc:moviclip=new moviclip(); //önceden import ettiğimiz moviklipi burada tanımlıyoruz türünü belirtiyoruz. public function Y():void // içinde Y fonksiyonu var B dede X fonksiyonu olduğunu varsayarsak artık X fonksiyonu sanki buradaymış gibi işlem yapabiliriz { } } }
Dinamik class tanımlama: İmport Myersoy.klasor.Ersoy; //bir class çağırırken olması gereken import ve tam adresi noktalı olarak Var arsoy:Ersoy=new Ersoy(); Arsoy.adi=”mehmet”; // burada yeni bir değişken tanımlıyorum ama bu değişken Ersoy klsında yok ama bu adi değişkenini eklemek için Ersoy klasının dinamik olması gerekiyor bunun için Ersoy klasında baş kısmı şu şekilde olmalı “Public dynamic class Ersoy;” tırnaklar yok. Trace(arsoy.adi) ; Burada tanımlanan “adi “ değişkeni sadece arsoy clasına vardır ve Ersoy klsını çağırsanız bulamazsınız.
Kütüphanedeki Moviclipi sahneye alma: Sahnede bir moviclip yapılır ve moviclip sahneden silinir ve kütüphanedeki moviclipin üzerinde sag tıkla ”bağlantı” seçilir.burada bize moviclibin adıyla bir sınıf oluşturduğunu söyler.
Artık “dort” isminde bir sınıfımız var ve kodlarla artık sahneye alabiliriz (ama buradaki moviclip değil buton yapmışım) not iç içe moviklipler çagırdığımızda sahnede bu movicliplerle bir işlem yaparken direk o moviclibin ismini yazarak yapabiliriz. Var dortgen:dort=new dort(); //sınıfımızın bir kopyasını alıyoruz.adıda dortgen Addchild(dortgen); //burada dortgeni sahneye çağırıyoruz. Var txt:textfield=new textfield(); //yeni bir text sınıfı kopyası oluşturuyorum adıda txt Dortgen.addchild(txt); //sahnede dortgen moviclibinin içine çağırdım Txt.border=true; Txt.text=”burası yazıdır”; //artık txt in tüm özelliklerini değiştirebilirim dikkat ettiysek adres yazmadık direk txt dedik eskiden “dortgen.txt” diye tanımlardık. Dortgen.Removechild(txt); //dersemde txt textini silerim removechild(dortgen);dersem txti de moviclibide silerim Eğer moviclibi N içindeki seviyeleri ben belirlemek istersem Dortgen.addchildAt(dosya,0); //burada dortgen içine dosya movi clibini koyorum ama index numarası 0 çünkü sıfırla başlar ve sonra birtane daha ekleyeceksek oda 1 olmalıdır 2 diyemeyiz çünkü bir olmadığı için hata verecektir.
Dortgen.addchildAt(dosya1,1); //dosya1 moviclibini eklerken mecburen bir dedik ayrıca dörtgenin içine movi clipleri eklerken index belirlediğimiz gibi yazarkenede ilk indexi ilk önce belirtmemiz gerekir. Dosya1 silmek isersekte: Dortgen.removeaddchildAt (0); //index numarasını belirtirim ama dikkat edilmesi gereken bir şey var biz o index numaralı movi clibi silince program diger movicliplerin indexlerini 0 dan itibaren düzenler ve 0 ı başka bir movieclibe verir.
Mc özellikleri kirmizi_mc.alpha =.5//alpha değeri 0 ile 1 arasında olmalı kirmizi_mc.width = 100//genişlik değeri kirmizi_mc.height= 75//yükseklik değeri kirmizi_mc.x = 55 //x koordinatı kirmizi_mc.y = 100//y koordinatı mavi_mc.visible = true //mavi_mc.visible = false //görünmez yapar ama alfanın 0 olmasıyla aynı değidir. //mavi_mc.rotation = 10 //10 derece saat yönünde döndürür //mavi_mc.buttonMode = true// mc nize buton olma yeteneği kazandırır. mavi_mc.scaleX = 2 //x ekseninde 2 kat büyüt... mavi_mc.scaleY = 2 //Y ekseninde 2 kat büyüt...
Sahne ayarlarının yapılması var d:Dörtgen = new Dörtgen(); addChild(d); d.x = stage.stageWidth / 2 - d.width/2; //sahne genişliği işlemi d.y = stage.stageHeight / 2 - d.height/2; //sahne yüksekliği işlemi stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.BOTTOM_LEFT; //burasında sahnenin sol vealtını oynatma flash player küçülüp büyüdüçe EXACT_FİT özelliği gelirse flash playerla birlikte flashta büyür ve küçülür. function Resize(evt:Event):void { trace (stage. stageWidth) ; }
I
stage.addEventListener(Event.RESİZE ,Resize);
Tam ekran yapma var d:Dörtgen = new Dörtgen (); addChild(d);
I
function onClick(evt:MouseEvent):void
{ stage.displayState = StageDisplayState.FULL_SCREEN;//tamekran yapar ama normal moda geçmek istersek sonunu NORMAL yaparız } d.addEventListener(MouseEvent.CLICK ,onClick); eğer web sayfasında yapacaksak sayfayı bir editörle açıp içinde yeralan fullscreen modunu false den true ya çevirmemiz gerekir (üç yerde var)