FLASH DERSLERİ

Action script yazı dizisi                Check Box Hazirlama
Form Hazirlamak

Mail Göndermek
Text Dosyadan veri yüklemek
Drag and Drop

Fareyi takip et

Pop Up Pencere yapımı
AutoRun ve Batch file                  Full screen
Kare                                          Faktöriyel
Karekök                                       Rastgele sayı üretme


ACTION SCRİPT YAZI DİZİSİ   Sayfa başı

"BASIC ACTIONS"

Adında da anlaşılacağı gibi hemen hemen her Flash Movie'de kullanılan basit seviye action'lar bu kategoride bulunur.

Go To :
Bu action ile, aktif scene ve aktif frame'den, belirtilen scene'deki , frame numarasına ya da daha önce label(etiket)'ı tanımlanmış frame'e yönlendirebilirsiniz. "Go To" action'ı ile kullanabileceğiniz paramatreler şunlardır.
 

Scene : Scene'nin ne olduğunu biliyorsunuz sanırım. Bir movie'de isteğinize göre birden fazla scene(sahne) bulunabilir. Ve "Go To" action'ın scene parametresi ile istediğiniz scene seçimini buradan yapabilirsiniz. Buraya tıkladığınızda açılan listede nextScene(sonraki sahne), previousScene(önceki sahne) ve varolan scene'lerinizin listesi çıkar. nextScene ya da previousScene seçeneklerini seçmeniz durumunda frame numarası ya da etiketi belirtemezsiniz. Bunlardan birini seçmeniz durumunda previousScene için önceki , nextScene için sonraki scene'nin ilk frame'ine gider. Eğer bir seçenek belirtmezsek geçerli değer, o anda içinde bulunduğumuz scene(current scene)'dir.


Type : Frame alanında verilen frame bilgisinin türünü buradan belirleyebilirsiniz. Bu parametre ile 5 seçenek mevcuttur.
Frame Number : Frame alanında verilen frame bilgisinin frame numarası olduğunu belirtir. Timeline aracılığı ile frame numarasını alabilirsiniz.
 

Frame Label : Label verdiğiniz bir frame'e yönlendirme istiyorsanız , bu seçeneği seçmeniz gerek. Bir frame'e nasıl label verilecegini ve label'ın faydalarına değinelim. "Go To" action'ını kullanırken frame numarası yerine frame label vermek daha avantajlıdır. Mesela 200 frame'lik movie'miz de "Go To" action'ı için frame number kullandıysak ve ileride bu frame'ler arasına yeni bir frame eklemek gerekirse , tüm "Go To" action'larımızı yeniden düzenlememiz gerekir ki , Çin işkencesini aratmayacak bir durumla karşı karşıya kalırız.O halde ne yapıyoruz, "Go To" action'ını çok fazla kullanıyorsak veya frame sayımız yüksekse frame label kullanıyoruz. Bir frame'e label vermek için ise Window > Panels altında bulunan Frame'e(CTRL+F) tıklıyoruz. Açılan pencede label alanına yazdığımız değer, seçili keyframe'in label değeri oluyor. Zaten label'ı girip enter'a bastıktan sonra , label verdiğimiz keyframe'de kırmızı bir bayrak görüntüsü ve verdiğimiz label'ın değeri gözükecektir.
 

Expression : Bu seçeneğe ileride değineceğiz. Ama kısaca bilginiz olması açısından, frame alanındaki değerin bir değişken , ifade yani kısaca başka bir fonksiyon yada matematiksel ifadeden dönen sonuç olduğunu belirtir.
 

Next Frame : Aktif frame'den, bir sonraki frame'e gitmemizi sağlar. Bu seçenek seçildiğinde bir ipte iki canbaz oynayamayacağı için, doğal olarak "Frame" alanı deaktif olur.

Previous Frame : Aktif frame'den bir önceki frame'e gitmemizi sağlar.Yine nextFrame'de olduğu gibi bu seçenek de seçildiğinde "Frame" alanı deaktif olur.


Frame : Yukarıda anlattığımız "Type" bilgisine göre bu alana frame numarası, frame label, expression türünden bir değer girilir.
Altta bulunan, "Go to and Play" seçeneği ile, belirtilen scene' deki, frame 'e gittikten sonra animasyonun devam edip edilmeyeceği içindir. Yanında bulunan kutu işaretli ise belirtilen frame'e gittikten sonra , o frame'den sonra oynamaya(play) devam eder, kutu işaretli değil ise belirtilen frame'e gittikten sonra bekler(stop).Eğer kutudaki işaret kaldırılırsa "gotoAndPlay" şeklinde gözüken action "gotoAndStop" şeklini alır.
Bir örnek vermek gerekirse, Scene2'deki 15. frame'e gitmek istersek :
gotoAndPlay ("Scene 2", 15); gibi bir action yazmamız gerekir.
 

Play : Şimdi bu action'ın neyini anlatacaksın dediğinizi duyar gibiyim. Her teypde bir tane var, basıyoruz kaset kaldığı yerden devam ediyor işte!.. Haklısınız, bu action'da her teypde bulunan "Play" tuşuyla aynı işleve sahiptir. Bu action komut kullanıldığında, animasyonbulunduğu frame'den itibaren oynamaya devam eder. Hiç bir parametresi yoktur.

Stop : Gene, "Play" action'ında oldğu gibi gürültü patırtı çıkartmayın. Ben görevimi yapıyorum ve anlatıyorum. Bu action'ın verildiği keyframe'de animasyon durdurulur.Hiç bir parametresi yoktur.

Toggle High Quality : Bu action komut ile Flash movie'nizin kalitesini ayarlarlayabilirsiniz. Ve her kullanıldığında , bir önceki değere göre kalite düşük veya yüksek olur. Hiç bir paramteresi yoktur.

Stop All Sounds : Movie'nizde çalan bütün sesleri durdurmaya yarar. Hiç bir parametresi yoktur.

Get URL : Flash içinden, herhangi bir Web sitesine ya da bir Web sayfasına link vermek veya Flash içindeki değişkenleri Web sayfasına göndermek için kullanılır. Bu action ile kullanabileceğiniz parametreler aşağıdaki gibidir.
URL : Buraya, yönlendireceğiniz Web sitesinin ya da Web sayfasının adresini girebilirsiniz.Eğer bir URL giriyorsanız "http://" ifadelerini girmeniz şart. Aksi halde, girdiğiniz URL sizin sitenizin altında bir sayfa/dizin gibi aranır ve dolaysıyla ulaşılamaz.
 

Window : Bu parametre ile, "URL" alanına girdiğimiz adresin hangi tarayıcı penceresinde açılacağını belirleriz. Hiç bir değer girilmezse geçerli değer "_self" seçeneğidir.

_self : Bu seçenek ile, "URL" alanında belirtilen adres ,movie'nin bulunduğu pencere içinde açılır. Eğer HTML belgede frame varsa , verilen URL , movie'nin bulunduğu frame içinde açlır.
 

_blank : "URL" alanında girilen adres, yeni bir tarayıcı penceresinde açılır,
parent : HTML belgede, Flash movie'nin bulunduğu frameset'i kaldırır ve URL alanında verilen adresi yükler. Eğer frameset kullanılmamışsa "_top" seçeneği ile aynı işlevi görür.
 

_top : Eğer HTML frame kullandıysanız, bu seçenek ile, aynı tarayıcı penceresi içinde, tüm HTML frame'ler kaldırılır ve "URL" alanına girilen adres aynı penrece içinde açılır.
Yukarıdaki "Window" seçeneklerine ek olarak, kendimizin tanımladığı bir tarayıcı penceresinede girilen URL'yi yönlendirebiliriz.HTML frame'lerden oluşmuş bir Web sayfası gibi.
 

Variables : URL alanında belirttiğimiz Web sayfasına , Flash içindeki değişkenlerin gönderilip gönderilmeyeceğini, eğer gönderiyorsak , gönderme için kullanacağımız metodu belirlememizi sağlar.
 

Don't Send(Gönderme) : Flash içinde bulunan hiç bir değişkeni URL ile birlikte, belirtilen adrese göndermez.
Send Using GET(GET metodu ile gönder) : Bu metod ile, Flash içinde kullanılan değişkenler, URL sonuna eklenerek gönderilir.Girilen URL'den sonra "?" karakteri , daha sonra değişkenler ve değerleri yer alır. Gönderilen her değişken "&" karakteri ile birbirinden ayrılır.
Send Using POST(POST metodu ile gönder) : Bu yöntem ile Flash içinde kullanılan değişkenler HTTP Header'lar ile birlikte gönderilir. Yani kullanıcı değişkenleri GET metodunda olduğu gibi göremez.Eğer değişkenleriniz çok veya değerleri uzun ise , kullanıcı adı ve şifre gibi bilgileri Flash formunuzdan gönderiyorsanız bu metodu tercih etmelisiniz.

Bir yanlış anlamayı ortadan kaldırmak için hemen belirteyim ki, Flash ile ziyaretçi defteri, anket, mail formları gibi tam Flash uygulamalar yukarıda bahsettiğimiz "Get URL" ile yapılmaz.Bu action ile Flash'da bulunan değişkenler "Window" parametresinde açılmak üzere verilen URL'ye, yönlendirilir. Tam Flash uygulamalar için, "Load Variables" action'ı kullanılır ve bu action'ı önümüzdeki aylarda öğreneceğiz.
"Get URL" action'ı ile bir mail adresine link vermek istersek "URL" parametresine, "mailto:" ifadesinden sonra E-Mail adresimizi girebiliriz."mailto:" kullanıldığında diğer parameterlerin bir önemi kalmaz. Eğer HTML belgemizin içindeki bir JavaScript fonksiyonunu çağırmak istiyorsak, "JavaScript:" ifadesinden sonra fonksiyonumuzun adını yazabiliriz. "JavaScript:" ifadesini kullanırsanız dikkat etmeniz gereken nokta; "Window" parametresidir. Zira Flash verilen "Window" isminde JavaScript' i calıştırır.Genelde, JavaScript'imizde aynı HTML belgede olduğuna göre "_self" seçeneği kullanılmalıdır.
"Window " ve "URL" parametrelerinin yanlarında bulunan "Expression" kutucuklarını ilerleyen derslerde öğreneceğiz. Şimdilik en iyisi bunlara dokunmayın.Yok eğer dokunursanızda, evin önünde bir ambulans bekletin.Zira hata ararken sinir krizleri geçirebilirsiniz.

FS Command : Bu action ile StandAlone Player(Flash Player) için kullanabileceğimiz komutların yanı sıra, Flash movie'mizin HTML belge içinde bulunan JavaScript fonksiyonlarıyla haberleşmesini sağlayabiliriz.JavaScript kısmını daha başlangıç seviyesinde olduğumuz için bir kenara bırakalım ve StandAlone Player komutlarını inceleyelim. Ne de olsa hepiniz player ile movie'nizin nasıl tam ekran yapılacağını merak ediyorsunuz.Aşağıda açıklayacağımız komutları "Command" parametresine girebileceğiniz gibi, "Commands for standalone player" parametresinden de bu komutları listeleyebilirsiniz.

fullscreen : StandAlone Player ile açılan movie'nin kendi boyutlarında veya tam ekran olup olmayacağını belirler."Arguments" parametresine "true" verilmesi ile tam ekran , "false" verilmesi durumunda ise movie orjinal boyutlarına döner.
 

allowscale :StandAlone Player'ın boyutunun değiştirilmesi halinde oynayan movie'nin player'ın boyutlarına göre değişip değişmeyeceğini bu komut ile ayarlayabiliriz."Argumets" değerinin "true" olması durumunda Player'ın boyutu ile orantılı olarak movie'ninde boyutu değişir."Arguments" değerinin "false" olması durumunda ise Player'ın boyutuna bakılmaksızın movie orjinal boyutlarında kalır ve boyutu değişmez.
 

showmenu : StandAlone Player'da izlenen movie'ye sağ tıklanılması durumunda açılan menünün ve yukarıda bulunan "File, View, Control, Help" menüsünün gösterilip gösterilmeyeceğini belirler."Arguments" parametresinin "true" olması durumunda movie'ye sağ tıklanıldığında zoom ayarları, kalite ayarları ve kontroller menüsü ile yukarıdaki menüler gösterilir, "false" olması durumunda ise bu menüler gösterilmez.
 

trapallkeys : Bu komut ile, flash movie'niz için klavye tuşlarının aktif olup olmayacağını ayarlayabilirsiniz.
exec: StandAlonePlayer'da, movie'nin bulunduğu dizinde olmak şartıyla, "Arguments" alanına girilen programı çalıştırılı.
 

quit : StandAlone Player'ı kapatır.

Bir kere daha belirtmekte fayda görüyorum.Bu komutlar sadece StandAlone Player içindir.Yani HTML belge içine embed edilen movie için "fullscreen" komutunu verip neden tam ekran olmuyor diye bunalıma girmeyin.

Load Movie : Aktif movie'nizin içine, dışarıdan bir movie yüklemek için kullanılır. Bu action ile HTML belgenin yeniden yüklenmesine gerek kalmadan herhangi bir SWF dosyasını yükleyebiliriz.

URL : Yüklenilecek SWF dosyanın adresi buradan verilir.
Location : Burada bulunan listede iki seçenek mevcuttur. "Level" ve "Target".
 

Level(Seviye) : Level, kullandığımız Layer'lar gibi birer katmandır. Her Level "_level" ifadesinden sonra kullanılan bir rakamla belirlenir.Bir movie içinde sonsuz Level olabilir. Hazırladığımız movie, "_level0" da bulunur. Dolayısıyla "Load Movie" action'ı ile "_level0" a bir SWF yüklersek ana movie'miz yerine yüklediğimiz SWF gösterilir. "_level1" gibi farklı Level'lara SWF yüklediğimizde "_level0" da bulunan movie üstüne yüklenir.Tabi yüklediğimiz SWF içindeki değişkenlerde yüklenilen "_level" a ait olur."Level" a yüklediğimiz bir SWF 'nin özelliklerini ayarlamayı ilerleyen derslerimizde öğreneceğiz.Sonuç olarak SWF dosyasını bir "_level"a yükelemek istersek "Level" seçeneğini seçer ve karşısındaki alana "_level" değerini sayı olarak gireriz.
Target(Hedef) : İşte Action paneli anlatırken es geçtiğimiz meşhur target. Flash'da target, bir Movie Clip'e verilen "Instance Name" adı ya da yukarıda bahsettiğimiz "_level" dır.Bir Movie Clip'e "Instance Name" verebilmek için Window>Panels menüsünden(CTRL+I) "Instance" penceresini açmanız gerekir. "Instance Name" vereceğiniz Movie Clip'i seçtikten sonra, Name alanına vereceğiniz ismi girebilirsiniz.Bu ismi gerekli action'larda target alanında kullanacağız. Elbette, çalışma alanında bulunmayan ve seçili olmayan bir Movie Clip'e "Instance Name" veremeyiz.
Eğer bir SWF dosyasını bir Movie Clip içine yüklemek istiyorsak target seçeneğini seçerek, Movie Clip'e verdiğimiz "Instance Name"i karşısında bulunan alana gireriz. Eğer target alanında belirttiğimiz "Instance Name"e sahip bir Movie Clip yok ise yüklemeye calıştığınız SWF dosya gözükmez. Niye gözükmüyor diye, saçınızı başınızı yolmadan önce target'ın, verdiğiniz "Instance Name" ile aynı olup olmadığını kontrol edin.
 

Variables : Bu parametre ile yükleyeceğimiz SWF dosyasına değişken(ler) gönderilip gönderilmeyeceğini, eğer gönderiyorsak ,gönderme için kullanacağımız metodu belirlememizi sağlar. "Get URL" action'ında "Variables" parametresinde bahsettiğimiz işleve sahiptir.Bu parametre, aslında interaktif animasyonlar ve uygulamalar hazırlamak için kullanacağımız en önemli parametrelerden. Ama değişkenler kounusunu bir dahaki ay anlatacağımdan detaya girmiyorum. Yine "URL" ve "Location" parametresinide "Target" seçili iken aktif olan "Expression" kutularınıda ilerleyen derslerde, yani "Expression" kavramını öğrendiğimiz zaman değineceğim.

Unload Movie : "Load Movie" action'ı ile, belirtilen "_level" ya da target'a daha önce yüklenen movie'yi kaldırır.Hiç bir paramteresi yoktur.

Tell Target : "Instance Name" verilmiş bir Movie Clip'i çağırmak için kullanılır."Tell Target" ile daha önce "Instance Name" verdiğimiz bir Movie Clip'i, target alanına Movie Clip'in "Instance Name"ini yazmak şartıyla çağırabiliriz. Çağırıpta ne yapacağız Movie Clip'i, dertsiz başımıza dert almayalım demeyin. Çağırıdıktan sonra action kodlar ile bu Movie Clip'i kontrol edebiliriz.

Genel Kullanımı :

tellTarget ("Hedef") {
Yapılacak İşler;
}


bir örnek vermek gerekirse , "test" "Instance Name"ine sahip bir Movie Clip'i çağıralım ve 6.frame'ine gidelim.

tellTarget ("text") {
gotoAndPlay (6);
}


Görüldüğü gibi "tellTarget" ifadesinden sonra parantez ve tırnak içinde hedef olarak verdiğimiz Movie Clip'in "Instance Name"ini ve süslü parantezler içinde de çağırdğımız Movie Clip için "Go To" action'ını kullandık. Süslü parantez, tırnak ve parantez gibi karakterlerin ne amlama geldiğine önümüzdeki ay değineceğiz.

If Frame Is Loaded : Bu action ile belirtilen Scene'deki belirtilen frame yüklendiğinde istenilen action'ların çalıştırılması sağlanır. Flash movie'niz için önyükleme bu action ile yapılır.

Secene : "curent scene" ile içinde bulunduğunuz scene seçilebilir ya da buraya tıkladığınızda açılan listeden kullandığınız scene'lerden birini seçebilirsiniz.
 

Type : Frame number ile, "Frame" alanına girilen değerin frame numarası oluduğu, Frame Label ile "Frame" alanına girilen değerin frame etiketi olduğu ve son olarak da "Expression" ile "Frame" alanının bir değişken ya da script ifadesi olduğu belirtilir.
 

Frame : Yukarıdaki seçilen seçeneğe göre buraya frame numarası , frame etiketi ,bir değişken adı veya script ifadesi girilir.

Flash 5 ile önemini yitirmiş bir action' dır.

On Mouse Event : Bu action eğer bir buton seçili ise aktif hale gelir.Butona yapılacak eylemlerin türünü belirlememize olanak sağlar.Eylemler diyorum, çünkü burada birden fazla seçenek seçebiliriz.Verilen eylem(ler) gerçekleştiğinde "On Mouse Event" içindeki action'lar calıştırılır.Bir butona verebileceğimiz 8 değişik eylem bulunur.

Press : Butona tıklanması durumunda eylem gerçekleşmiş sayılır. Eylemin gerçekleşmesi için tıklandıktan sonra butonun serbest bırakılması gerekmez.
 

Release : Butona tıklanılıp, buton serbest kaldıktan sonra eylem gerçekleşmiş sayılır.
 

Release Outside :Butona tıklanılıp, buton alanından çıktıktan sonra serbest bırakılmasıyla eylem gerçekleşmiş sayılır.
 

Roll Over : Mouse işaretçisi butonun üstündeyken eylem gerçekleşmiş sayılır.Bir kere mouse işaretçisinin üstüne gelmesiyle action kodlar bir kere calıştırılır.
 

Roll Out : Mouse işaretçisi butonun üstüne getirilip, buton alanından dışarı çıktığında eylem gerçekleşmiş sayılır.
 

Drag Over : Butona tıklandıktan sonra, yine basılı durumda, mouse işaretçisinin buton alanından dışarı çıkıp , tekrar buton alanına girmesiyle eylem gerçekleşmiş sayılır.
 

Drag Out : Butona tıklandıktan sonra, yine basılı durumda, mouse işaretçisinin buton alanından çıkmasıyla eylem gerçekleşmiş sayılır.
 

Key Press : Bu seçenek seçildiğinde karşısındaki kutu aktif hale gelir.Buraya klavyede bulunan Fn (F1,…,F12), Print Screen, Scroll Lock, Pause, Ctrl, Alt, Shift, Caps Lock, Num Lock ve Windows tuşları hariç, herhangi bir tuş ismi girebilirsiniz. Sizin istediğiniz tuşa basmanız halinde tuş ismi bu kutuda yazacaktır. Oyun yaparken ya da butonlara kısayol vermek için bu seçenek ileride işimizi görecek.

Örnek :
Klavyeden "P" karakterine basıldığında veya butona tıklanılıp, buton serbest kaldığında sayfamızı http://www.pcmagazine.com.tr adresine yönlendirelim.
on (release, keyPress "P") {
getURL ("http://www.pcmagazine.com.tr", "_blank");
}

 

Trace

Trace Flash içindeki playerder'dan yani test movie(Ctrl+Enter) ile movie'mizi izlediğimiz ekrandan çıkış almamızı sağlayan bir action'dır.Bu çıkış output penceresinden yapılır.Trace alanına değişken ismini yazmak ve karşısındaki kutucuğu işaretleyerek bunun bir expression olduğunu belirttikten sonra playerdan değişkenin değerini alabiliriz.

Örnek :
x = 15;
trace(x);


İlk satırda x adında bir değişken tanımlayıp değerini 15 yaptık. İkinci satırda ise trace action'ı ile x değişkeninin değerinin output penceresinden gözükmesini sağladık. Tekrar hatırlatayım, trace ile almak istediğiniz çıkışları test movie(Ctrl+Enter) yaptıktan sonra Output penceresinden alabilirsiniz. Output penceresi bir çıkş olduğunda kendiliğinden açılacaktır. Output penceresini kendiniz açmak isterseniz Window menüsünden Output'a tıklayınız.

 

DEĞİŞKENLER(Variables), VERİ TÜRLERİ(Data Types)


Bütün programlama dillerinde olduğu gibi ActionScript'de de değişkenler(variables) kullanılır. Tanımladığımız bir değişken içinde istediğimiz veriyi saklayabiliriz. Örneğin ;
x = 15;

Flash için bu satır, x adında bir değişken oluştur ve bu değişkenin değerini 15 yap anlamına gelir. Bu değişkenimizin değerini elbette daha sonra değiştirebiliriz.Bunu kendimiz yapabileceğimiz gibi başka bir action'dan dönen sonuç da olabilir. Değişkenlerin ismi sabit kalır, fakat sakladıkları değer değişebilir.

Actions menüsü altındaki "set variables" action'ı ile bir değişken oluşturabilir ve bu değişkenin değerini atayabilirsiniz. Atayacağınız değer bir başka değişken de olabilir, bir sayı(number) , string ya da boolean olabilir. Peki string, boolean ne ola ki ? ActionScript içinde veri türleri vardır.Yeri gelmişken örnek vererek veri türlerini açıklayalım.

Ad = "Savaş Tekin"
Numara = 15
Giris = True


Birinci satırda, Ad isimli bir değişkenimiz var ve değeri "Savaş Tekin". Ad değişkeninin değeri Alfanumerik yani karakterlerden oluştuğu ve matematiksel bir işlem yapmaya elverişli olmadığından bir "string"'dir. İkinci satırda ise Numara isimli değişkenimiz var ve değeri 15. Değişkenimizin değeri sayı olduğundan dolayı yani matematiksel işlem yapmaya elverişli olduğundan veri türü" sayı(Number)"'dır. Birinci satırda değişkenimizin değerinin tırnak içinde, ikinci satırda da tırnak olmadığına dikkat etmişsinizdir. Bir değişken değerinin string olarak görülmesini istiyorsak değeri tırnak içinde yazarız. Başka bir değişle değeri yazdığımız alanın yanındaki expression kutucuğunu işaretlememiz gerekiyor. Eğer değişken değerimizin bir sayı(Number) olarak görülmesini istiyorsak değeri tırnak içine almadan yazarız yani expression kutucuğunu işaretleriz.

String ile sayı arasıdanki farka bir örnek vermek gerekirse :
Sayi1 = 15;
Sayi2= 10;
Toplam = Sayi1+Sayi2 ;


Yukarıdaki örnekte Toplam değişkeninin değeri iki sayı toplandığından dolayı 25 olacaktır.Peki yukarıda ki örneğimizi aşağıdaki şekilde değiştirirsek ;

Sayi1 = "15";
Sayi2= "10";
Toplam = Sayi1+Sayi2;


Bu örnekte ise Sayi1 ve Sayi2 değişkenlerimizin değerleri string olduğundan dolayı(neden string:Çünkü sayılar tırnak içinde yazılmış ve sayıda olsalar Flash bunları string olarak kabul eder.) toplama sırasında matematiksel bir işlem yapılmaz. Yani Toplam değişkenimizin değeri "1510" olur.
Son olarak Giris = True satırını açıklayıp boolean veri türünü öğrenelim. Bir boolean ifadede değişkeninin değeri True(doğru) ya da False(yanlış) olabilir. False için dönen değer 0 ve True için dönen değer ise 1'dir.

Örnek :
Giris = true;
if (Giris) {
play;
}


Yukarıdaki örnekte Giris değişkenimizin değerini true yaptık ve alt satırda bu değişkenin değerine göre animasyonumuza devam edip etmemesini sağladık. Buna göre Giris true olduğundan animasyon devam edecektir. Eğer Giris false olsaydı animasyon duracaktı. Flash da şimdilik veri türleri bunlar aslında obje ve movie clip'de var ama, bunları ilerleyen derslerimizde ilgili action'ları öğrenirken anlatacağım.

Peki başlangıç aşamasında bu değişkenler ne işimize yarayacak sorusunu soruyorsanız eğer okumaya devam edin. Örneğin basit olarak ; "Get URL" action'ı ile Flash movie'miz içinde bir çok link verdik ve biten movie'mizi ücretsiz bir server'a upload ettik.Gün geldi, yeni bir host keşfettik ve Flash movie'mizi oraya taşımak icap etti. Ama o da ne? Şimdi kim uğraşacak 10 tane butona yeni adresi girmeye... Mecbur yapacak başka bir şey yok.Kadere boyun eğip hepsini tek tek değiştireceğiz. Ama ya şunu yapsaydık : hostURL adında bir değişken tanımlayıp , bu değişkenin değerini http://www.xxxserver.com/websitem/ yapsaydık ve Get URL action'ı için URL alanına karşısındaki "expression" kutucuğunu işaretleyip hostURL+"sayfam.html" yazsaydık, elbette bu kadar uğraşmazdık. Bu değişkenlerin Flash'da işlerimizi ne kadar kolaylaştıracağının en basit örneği. İlerleyen yazılarımızda meğer olmazsa olmazmış dedirtecek kadar çok kullanacağız değişkenleri.Bu nedenle bu ayki yazımızı anlayana kadar okumanızda fayda var. Yok okuyamam derseniz geçen ayki yazımızda bahsettiğimiz interaktif uygulamalar için ağzınızın suyunu boşuna akıtıp, iştahınızı kabartmayın.

Yukarıkdai örnekte, geçen ay es geçtiğimiz "expression" ifadesini işaretlediğimize dikkat ettiniz sanırım. Aslında yazımızın başında da değindik ama tekrar etraflıca değinelim. Expression türkçemizde ifade, deyim anlamına gelir. ActionScript için de farklı bir anlama gelmez. Yani expression, action kodlarının kullanıldığı bir ifadedir.Bu kutucuğu işaretleyerek hostURL nin bir değişken olduğunu ve buraya bu değişkenin değerinin gelmesini istedik. Yine yukarıda belirttiğimiz gibi eğer değişken değerimiz sayı ise yine expression kutucuğunu işaretliyoruz. + operatörü ilede tırnak içindeki verinin hostURL değişkeninin değeri ile birleştirilmesini sağladık.

ActionScript dilinde stringlerle işlem yapmamız için hazır fonksiyonlar bulunur.Örneğin bir stringde ki karakterleri büyük ya da küçük yapabilir, stringin uzunluğunu alabilir, veya string içinde bir değer aratabiliriz.

String.charAt

Ad = "Savaş Tekin"
Ad isminde bir değişkenimiz ve değeride "Savaş Tekin" olsun. Bu değişken değeri içinde 4. karakterin ne olduğunu bilmek istiyorum. Ve bu durumda charAt imdadıma yetişiyor.
Alinan = Ad.charAt(4)
charAt action'ını kullanarak Ad stringinden 4. karakteri alarak Alinan değişkenine atamış olduk. Bu durumda 4. karakter "ş" olduğundan Alinan değişkenimizin değeride "ş" olur.Unutmayın saymaya 0'dan başlıyoruz.

String.charCodeAt
Yukarıda anlattığım charAt action'ı ile aynı kullanıma sahiptir.Fakat bu action'ın kullanılmasıyla dönen sonuç bir karakter değil, o karakterin, karakter kodudur.
Örnek :

Ad = "Savaş Tekin" ;
Alinan = Ad.charAt(4);

Bu örnekte Alinan değişkeninin değeri 254 olacaktır. Çünkü Ad değişkeni içinde 4. sıradaki "ş" karakterinin karakter kodu 254'dür.

String.concat

Concat ile istediğimiz değişkenin sonuna yeni değerler ekleyebiliriz.
Örnek :

Ad = "Savaş";
Soyad = "Tekin";
AdSoyad = Ad.concat(Soyad);

Böylece Ad ve Soyad isimli değişkenlerimizin değerlerini AdSoyad değişkeni altında concat ile birleştirmiş olduk.

String.indexOf

İstediğimiz string içinde belirtiğimiz değeri arar.
Örnek :

Ad = "Savaş Tekin";
Bul = Ad.indexOf("T");

Yukarıdaki örnekte "T" karakterini, indexOf ile Ad değişkeni içinde arattık. "T" karakteri Ad değişkeni içinde bulunduğundan bize dönen sonuç 6 olacaktır.Çünkü T" harfi Ad değişkenimizde 6. karakterdir. Bu durumda Bul değişkeninin değeri 6 olur.
Örnek :

Ad = "Savaş Tekin";
Bul = Ad.indexOf("e",4);

Yukarıdaki örnekte ise indexOf'un diğer bir özelliğini görüyoruz. Arattığımız karaktere ek olarak , birde sayı var.Bu sayı ise değişken değeri içinde aramaya kaçıncı karakterden başlanacağını belirtmemize olanak sağlar. Örneğe göre, "e" karakterini, Ad değişkeni içinde 4. karakterden başlamak kaydıyla arattık. Eğer verilen değer değişken içinde bulunamazsa dönen değer -1 olur. Peki verdiğimiz değerden iki veya daha fazla olursa ne olacak. Bu durumda ilk bulunan karakterin değeri verilir.

String.lastIndexOf

indexOf'da olduğu gibi istediğimiz string içinde belirttiğimiz değeri arar. Fakat indexOf' dan farkı ilk bulunan değeri değilde son bulunan değeri verir.
Örnek :

Ad = "Savaş Tekin";
Bul = Ad.lastindexOf("a");

Eğer yukarıdaki örneği indexOf ile yapmış olsaydık bize dönen sonuç 1 olacaktı. Çünkü "a" karakteri Ad değişkeninde 1. karakterdir.lastindexOf'da ise dönen değer 3'dür . Az önce söylediğim gibi en son bulunan değeri verir.Yine indexOf' da olduğu gibi başlangıç karakter değerini lastIndexOf'da da kullanabiliriz.
Örnek :

Ad = "Savaş Tekin";
Bul = Ad.lastindexOf("a",5);

Bu durumda Bul değişkeninin değeri -1 olur. Çünkü 5. karakterden sonra Ad değişkeninde "a" karakteri bulunmamaktadır.

String.length

Verdiğimiz değişkenin karakter uzunluğunu verir.
Örnek :

Ad = "Savaş Tekin"
Uzunluk = Ad.length

Ad değişkenimizde 11 karakter olduğundan Uzunluk değişkenimizin değeride 11 olur. Boşluklarda karakter olarak sayılır.

String.slice

Bir değişken içinde belirtilen değerler arasındaki karakterleri verir.
Örnek :

Ad = "Savaş Tekin"
yeniAd = Ad.slice(0,5)

Örneğimizde, 0. karakterden itibaren 5. karaktere kadar olan değeri alıyoruz ve yeniAd değişkenimize atıyoruz.Bu durumda 0 ile 5 arasındaki değer "Savaş" olduğundan yeniAd değişkenimizin değeride "Savaş" olur.

String.split

Bir değişken içinde belirtilen değerden itibaren değişkeni ayırır.
Örnek :

Ad = "Savaş Tekin";
yeniAd = Ad.split("T");

Ad değişkenimizi split ile "T" karakterinden itibaren ayırdık. Bu ayırım ile yeniAd değikeninin değeri "Savaş ,ekin" olmuş oldu.

String.substr

Verilen değişken içinde, belirtilen karakter sayısından itibaren yine belirtilen uzunluğa kadar olan değeri alır.
Örnek :

Ad = "Savaş Tekin";
yeniAd = Ad.substr(2,3)

substr ile Ad değişkenimizin içinde 2. karakterden başlamak suretiyle 2. karakterden sonra gelen ilk 3 karakteri , yeniAd değişkenine atadık. Bu durumda yeniAd değişkenimizin değeri "vaş" olur.

String.toUpperCase

Verilen değişkenin tüm karakterlerini büyük harfe çevirir.
Örnek :
Ad = "Savaş Tekin";
buyukAd = Ad.toUpperCase();

Ad değişkenimizin değerini toUpperCase ile büyük harfe çevirdik ve buyukAd değişkenine atadık. Yani buyukAd değişkenimizin değeri "SAVAş TEKIN" oldu. Türkçe karakterlere maalesef işlem yapılmıyor.

String.toLowerCase

Verilen değişkenin tüm karakterlerini küçük harfe çevirir.
Örnek :

Ad = "Savaş Tekin";
kucukAd = Ad.toLowerCase();

Ad değişkenimizin değerini toLowerCase ile küçük harfe çevirdik ve kucukAd değişkenine atadık. Yani kucukAd değişkenimizin değeri "savaş tekin" oldu.
 

DİZİ DEĞİŞKENLER(ARRAYS)
Bu tür değişkenlerin içinde birden fazla değer atayabiliriz ve gerektiğinde bu değerlere ulaşabililiriz. Bir örnek vermek gerekirse ;

diziler = new Array();
diziler [0] = "Flash 3"
diziler [1] = "Flash 4"
diziler [2] = "Flash 5"


İlk satırda diziler isimli değişkenimizin bir array olduğunu belirttik. Yukarıdaki gibi bir array yapısı kullanacaksak değişekenin new Array ile dizi değişken olduğunu belirtmemiz şart. Array ifadesinin yanındaki parantez içine array değişkenlerimizin sayısını belirteiliriz. Eğer sayıyı bilmiyorsak ki bu başka bir action'dan gelecek değer olabilir; parantez içine her hangi bir değer yazmıyoruz,yani boş bırakıyoruz. Yukarıda diziler isimli array içine 3 farklı değer atadık. diziler[2] değişkeni bize Flash 4 değerini verir.

Diğer şekliyle yani yukarıdaki dizi değişkenleri aşağıdaki gibide atayabiliriz.
diziler = new Array("Flash 3","Flash 4","Flash 5");

Yukarıdaki örnekte array değişkenler oluşturmak için kullanılabilir ve zaten en kolay yolda bu. Kim 1 satır yerine birden fazla satır yazmak ister ki ? Yine her iki yazılış biçiminde de diziler[1] değişkeni Flash 4 değerini verir. Aaaa olur mu, yanlışın var mı diyorsunuz ? Ama birinci değer Flash 3 diyenleriniz için hemen açıklayalım. Programcılıkta sayılar, ilkokulda öğrendiğimiz gibi 1'den değil 0'dan başlar. Yani diziler[0] değişkeni bize Flash 3 değerini verir.

Dizi değişkenler için ActionScript'de sağlanan özellikler vardır . Şimdi sırasıyla bunlara değinelim.

Array.concat
Concat ile iki ayrı dizi değişken değerlerini başka bir dizi değişken adı altında birleştirebiliriz.
Kullanımı : yeniDegisken = degisken_1.concat(degisken_2)
Örnek : 1,2,3 değerlerine sahip degisken_1 adında ve 4,5,6 değererine sahip degisken_2 adında da başka bir dizi değişkenimiz olsun.Bunları degisken_3 adı altında birleştirmemiz gerekirse;
degisken_3 = degisken_1.concat(degisken_2)
Böylece degisken_3 'ün değeri 1,2,3,4,5,6 olacaktır.

Array.join

Join ile dizi değişkenlerimiz içindeki değerleri verdiğimiz karakter ile ayırabiliriz.
Kullanımı : yeniDegiskenAdi = diziDegisken(karakter)
Örnek :

diziDegisken = new Array("Flash 3","Flash 4","Flash 5")
yeniDegisken = diziDegisken.join(" - ")

Yukarıda ki satır ile yeniDegisken'in değerini "Flash 3 - Flash4 - Flash 5" yapmış olduk. Tire yerine istediğimiz başka bir karakteri koyarakda değerleri birbirinden ayırt edebiliriz. Parantez içinde bir değer belirtmememiz durumunda default olarak virgül ile ayrılır.

Array.length
Length ile belirttiğimiz dizi değişkeninin içindeki değer sayısını alabiliriz.
Kullanımı : diziDegisken.length
Örnek :

diziler = new Array("Flash 3","Flash 4","Flash 5")
uzunluk = diziler.length

diziler.length ifadesi burada bize 3 değerini veririr. Çünkü diziler dizi değişkenimiz içinde 3 değer bulunmaktadır.

Array.pop
Pop ile belirttiğimiz dizi değişken içindeki en son değeri kaldırmamızı ve bunu bize bildirmesini sağlar.
Kullanımı : yeniDegisken = diziDegisken.pop();
Örnek :

diziler = new Array("Flash 3","Flash 4","Flash 5")
yeniDegisken = diziler.pop();

Böylece yeniDegisken içine diziler array'i içindeki son değer olan "Flash 5" değerini kaldırdık.

Array.push
Push ile varolan dizi değişkenimiz içine yeni değerler atayabilir ya da yeni bir değişken altında birleştirebiliriz.
Kullanımı : diziDegisken("deger1",deger n")
Örnek :

diziler = new Array("Flash 3","Flash 4","Flash 5")
diziler = diziler.push("Fireworks 8","Fireworks 9")

Böylece daha önce Flash 3,4 ve 5 değerine sahip diziler adlı değişken içine Fireworks 8 ve 9 değerlerinide eklemiş olduk.

Array.reverse
Reverse ile belirttiğimiz dizi değişkenler içindeki değerleri büyükten küçüğe doğru sıralarız.
Kullanımı : diziDegisken.reverse()
Örnek :

diziler = new Array("Flash 3","Flash 4","Flash 5")
diziler = diziler.reverse();

İlk satırda "Flash 3, Flash 4, Flash 5"şeklinde atadığımız değerler alt satırda reverse ile "Flash 5, Flash 4, Flash 3" değerini alır.

Array.shift
Yukarıda Array.pop ile bir dizi değişken içindeki son değeri kaldırmıştık. Shift ile ise bir dizi değişken içindeki ilk değeri kaldırırız ve bu değeri alırız.
Kullanımı : yeniDegisken = diziDegisken.shift();
Örnek :

diziler = new Array("Flash 3","Flash 4","Flash 5")
yeniDegisken = diziler. shift ();

Böylece yeniDegisken içine diziler array'i içindeki ilk değer olan "Flash 3"değerini kaldırdık.

Array.slice
Bir dizi değişken içinde, başlangıcını verdiğimiz değerden, yine belirttiğimiz değere kadar olan değerleri verir.
Kullanımı : yeniDegisken = diziDegisken(Baslangic,Son)
Örnek :

diziler = new Array("Flash 3","Flash 4","Flash 5")
yeniDegisken = diziler.slice(0,1)

Yukarıdaki satırda diziler değişkeni içinde 0'dan başlayan ve 1'de biten değeri yeniDegisken içine atadık. Yani atadığımız değer "Flash 3" değeri olmuş oldu. İkinci satırı yeniDegisken = diziler.slice(0,2) olarak değişirsek bu bize "Flash 3,Flash 4" sonucunu verir.

Array.sort
Sort ile dizi değişkenlerimizi alfabetik sıraya koyabiliriz. Dizi değişken içindeki değerlerde büyük küçük harf farkettiği için büyük harfle başlayan değerler daha önce listelenir.
Kullanımı : yeniDegisken = diziDegisken.sort();
Örnek :

diziler = new Array("Mehmet","Ahmet","Ali")
diziler = diziler.sort();

Birinci satırda Mehmet, Ahmet ve Ali değerlerine sahip bir dizi değişken oluşturuyoruz. İkinci satırda ise sort ile diziler dizi değişkeninin içindeki değerleri alfabetik sıraya sokuyoruz. Böylece ikinci satırdan sonra diziler ismindeki dizi değişkenimizin içerriği Ahmet, Ali , Mehmet oluyor.


Değişkenler hakkında şimdilik bu kadarını bilmeniz yeterli. Şimdilik bu kadarı mı ? Ne diyor bu adam. Daha ne bilecektik diye bağırmayın lütfen. Değişkenler hakkında bilmeniz gereken herşey bu zaten.İlerleyen derslerimizde değişkenleri kendi başınıza daha kapsamlı anlayacaksınız. Özellikle array değişkenler kafanızı karıştırmış olmalı. Örnekler yaparak array değişkenini daha rahat anayabilirsiniz. Zaten array değişkenlerin tüm fonksiyonlarını her zaman kullanmanız gerekmez. Hatta bir çoğunu belki hayatınız boyuncada kullanmanız gerekmeyebilir.Kullandığımız fonksiyonlar Flash 5 versiyonu için geçerlidir. Flash 4 kullananlar boşuna çalışmıyor, hata veriyor diye saç baş yolmasın.
 


Check Box Hazırlama   Sayfa başı


SWF Dosya
"Bir onay kutusu nasıl yapılır?" sorusu çok sorulduğu için anlatılması gereken bir konu.Sizde Flash ile onay kutularını ve butonlarını kolaylıkla yapabilirsiniz.Onsuz bir interaktiv site olmaz.

Düğmeleri Oluşturma
Herhangi bir çeşit onay kutusu yada butonu oluşturmak için,iki karelik movie clip yapmamız gerek.Bunu yapmak için Insert> New Symbol tıklayın.Bir isim vererek Movie Clip Hareketi seçin.Şimdi Movie Clip düzenleme ekranı belirecek.Burada layer üzerinde iki boş keyframe ekleyin,movie cliplerin biri ilk framede diğeri ikinci framede olacak.Şimdi herbir karede durumu göstermek için bir buton oluşturun.Örnekte,ON butonu için yeşil,OFF butonu için kırmızı kullandım.Buton için grafik kullanmıyorum çünkü kullanışlılığı azalıyor.Buton ise mouse ile etkileşime geçiyor.

Butonu seçin ve Modify> Instance tıklayın.Actions sekmesine geçin,butona aşağıdaki actionları verin.

Birinci Kare:

On (Release)
Go to and Play (2)
// on mouse click turn switch on
End On

Ikinci Kare:

On (Release)
Go to and Play (1)
// on mouse click turn switch off
End On

Sonuç
Şimdi movie'ye bazı şeyleri öğretmemiz lazım.Mesela her bir durumda durup butonun gerçek zamanlı doğal halini göstermsi için değeri "boxStatus" olarak ayarlamasını ve bir sonraki tıklama için beklemesini.Yeni bir layer oluşturun (Actionları Movie Clip timeline'ında tutması için)



Keyframe'I seçin ve Modify> Frame tıklayın.Sonra actions sekmesine geçin.Kullandığım actionlar bunlar:

Birinci Kare:

Set Variable: "boxStatus" = "0"
Stop

Ikinci Kare:

Set Variable: "boxStatus" = "1"
Stop

Movie'miz tamamen bitti.Şimdi tek yapmanız gereken şey yaptığımız Movie Clip'I sahneye taşımak ve projenizi geliştirmeye evam etmek.
İyi Şanslar
 


FORM HAZIRLAMAK (V5)   Sayfa başı

FORM HAZIRLAMAK

Bu dersle Flash 5 ile nasıl form hazırlanacağını öğreneceğiz. Isim , WebSite, Mail, dusunceler adında text filed ve Gönder , Temizle adında form öğeleri oluşturalım.
Text Fieldler Bir tex field yapmak için Toolbarda bulunan simgesine tıklayınız. Stage(Çalışma Alanında)'de istediğiniz yere tıklayınız. Bir text box içinde yanıp sönen bir imleç göreceksiniz. Daha sonra "Text Options" penceresinden "Input Text" i seçiniz.

Variable degerini Isım olarak değiştirin.


Aynı yöntemle WebSite, Mail, ve Dusunceler adında Input Box'lar olsuturun. Tum input boxlar bittiğinde çalışma alanında şöyle bir görüntü olmalı.

 

MultineLine / Single Line / Password :Single Line seçeneği tek satırlık girişler için kullanılır. Multiline ise birden fazla satır girişine izin verir. Multineline seçildiğinde Word wrap aktif olur. Bu seçenek seçili ise bir satıra sığmayan karakterler bir alt satıra aktarılır. Password ise girilen değerin ekranda gözükmesini önler.
Max Char : Seçili alana en fazla kaç karakter girileceğini bu alandan belirtebiliriz. 0 değeri sonsuz girişe izin verir.
Embed Fonts : TextField ile gömülecek karakterleri ayarlamamızı sağlar.

HTML : Eğer bu alan seçili ise textfield içinde HTML kodlarının aktif olacağını belitir . Böylece textfield içinde <a href>, <b> gibi HTML kodlar kullanılabilir.
 


Butonları Hazırlama :
İki tane buton yapıyoruz . Biri gönder ve diğeri temizle butonu.
Bu butonları formumuza yerleştiriyoruz.
Gönder butonu için şu action kodları ekliyoruz :

on (release) {
loadVariablesNum ("http://www.server.com/MailGonder.asp", 0, "POST");
}

Bu action ile serverımızda bulunan MailGonder.asp isimli ASP dosyasına Flash içindeki Isim,Mail,WebSite ve Dusunceler değişkenlerini post ediyoruz.

Temizle butonu için ise şu action'ları ekliyoruz.

on (release) {
Isim = "";
Mail = "";
WebSite = "";
Dusunceler = "";
}

Temizle butonuna basıldığında tüm değişkenlerin değeri boşaltıldığından Input boxlara girilen tüm değerler silinecektir.
 


MAIL GÖNDERME   Sayfa başı


Artık flash ile formlar ve kullanıcı ile etkileşimli oyunlar, misafir defteri, üyelik formları ve onaylanması gibi uygulamalar yapmak istiyorsanız devam edin. Bu dersde serisinin ilk konusu olan flash ile e-mail gönderme ile başlııoruz. flash ile e-mail göndermek için ihtiyacımız , flash ile yapılmış bir form ve bu formun gönderileceği bir ASP dosyası.

FLASH FORMUN OLUŞTURULMASI
Bir movie içinde aşağıdaki şekilde görüldüğü gibi textbox tool ile gönderenin adı mail adresi ve düşüncelerini görebileceği input boxlar oluşturunuz.
Text Tool seçili iken movienizde bir yere tıklayın ve text option sekmesinden input type yapın ve sırasıyla ADI texti için variable değerini "gName" , MAİL texti için variable değerini "gMail" ve son olarak DÜŞÜNCE texti için variable değerini "Mesaj" ıapın. Bir layer daha ekleyin ve buraya bir buton koyun. Bu butonun actionına aşağıdaki kodları yazın.

on (release) {
loadVariablesNum ("MailGonder.asp", 0, "POST");
}

Yukarıdaki kodlar Flash formunuzun içindeki ve kullanıcının girdiği "gAdi" ,"gMail" , "gDusunce" değişkenlerini MailGonder.asp dosyasına post edecektir.


Neden "get" yöntemini kullanmadık.
Get yöntemiyle değişkenler ve değerleri URL ile birlikte gider ve URL uzunluğu 255 karakter ile sınırlıdır. Dolayısyıla kullanıcının girdiği düşünceler uzun bir metin olursa mail gönderilemez çünkü değişkenleriniz mailgonder.asp dosyanıza gitmeden hata verir.


Şimdilik kafanızın karıştırmaması açısından kontrolleri yaptırmadık.Yani bütün alanlar dolumu , mail adresi doğrumu ve mailin gidip gitmediğine dair kontroller. İlerki tarihlerde daha gelişmiş olanlarıda burada göreceksiniz. Şimdi ASP dosyasını yazalım.

ASP
Notepad yada kullandığınız bir editör ile aşağıdaki kodları yazınız ve MailGonder.asp adı ile kaydediniz.

Set objMail = Server.CreateObject("CDONTS.NewMail")
objMail.To = "flashokulu@flashokulu.com" 'Mail'in gidecegi adres
objMail.From = Request.Form("GMail") 'Flash Formdan gelen Gonderenin Mail Adresi
objMail.Subject = "Flashokulu.com Flash E-Mail Form" 'Mail in konusu
objMail.Body = "isim : "&Request.Form("GName")&VbCrLf&"Mesaj : "&Request.Form("Mesaj") 'Flash Formdan gelen Mesaj
objMail.Send ' Maili Gonderiyoruz

Yukarıdaki kodlar ile Flashdan gelen değişkenleri Request Form ile alıyor ve CDONTS componentini kullanarak gonderiyoruz. Burada ASP teknolojisini kullandık. Ve CDONTS componentini.Hosting firmanızın destekledigi componente gore elbette gerekli degisiklikleri yapabilirsiniz. Ve eğer isterseniz PHP, CGI veıa CFM ilede mail gonderebilirsiniz.
 


Text Dosyadan Veri yüklemek   Sayfa başı

Flash 4 ilk elime geçtiği zaman, orasını burasını kurcalarken ilk farkettiğim değişikliklerden bir tanesi de , Load Movie eylem komutuna Load Variables from File eklenmiş olmasıydı. Nasıl çalıştığını anladığım zaman gözlerime inanamamıştım. SWF dosyalarını hiç bir Generatore gerek kalmadan dışarıdan bir tek dosyayı değiştirerek güncelleyebiliyordum artık !

Bu ders notunda, herhangi bir Text dosyasından veri alabilen SWF dosyaları oluşturmayı öğreneceğiz ! Bu sayede FLA dosyasını açmaya gerek kalmadan filimlerimizi güncelleştirebileceğiz !

Text Dosyasını hazırlayalım


Load Variables into location
eylem komutu HTTP satır formatındaki verileri okuyabilir. Mesela, selam=deneme&test=345 gibi.

Bu yüzden notepad'i açın ve text.txt adında bir text dosyası yaratıp içine,

text=Bu Flashe aktarilmis herhangi bir yazidir.

ve dosyayı kaydedin.

SWF Dosyasını Oluşturalım
 

1- Flash'ı açın ve yeni bir film oluşturun.

2- İlk Frame'in Properties'ini açın ve Load Movie eylem komutunu ekleyin. Sağdaki menüden Load variables into location'ı seçin, URL kısmına ./text.txt yazın ve Level değerini 0 yapın. Bu işlem ile text.txt dosyasındaki metini ana filime aktarmış olduk.



 

3-Frame 2'ye boş bir Keyframe ekleyin.

4- Bu frame'in Properties'ini açın ve Label kısmına YUKLENIYOR yazın. Actions sekemsine tıklayın ve If komutu ekleyin. Condition ksımına text ne "" yazın. Sonra da Goto eylemi ekleyin ve TAMAM label'ına sahip frame gitmesini söyleyin.
 

5- Frame 3'e boş bir Keyframe ekleyin. Bu frame'in Properties'ini açın ve Acitons sekmesine tıklayarak Goto and play komutunu ekleyin. LOADING label'ına sahip keyframe gitmesini sağlayın.

6- Son olarak Frame 4'e de boş bir Keyframe ekleyin. Bu frame'in Properties'ini açın ve Label kısmına TAMAM yazın. Sonra da Stop eylemini ekleyin.

7- Artık herşey hazır, Text Tool'u seçin ve Text Field butonuna basın. Sahne içersinde istediğiniz bir yere, istediğiniz boyutlarda bir text filed çizin. Text Field'a sağ tıklayın ve Properties'i seçin. Variable olarak text yazın. Draw Border and Background seçeneğini iptal edin. Word Wrap, MultiLine, Disable Editing and Disable Selection seçeneklerini aktif hale getirin.

Nasıl Çalışıyor ?

İlk frame text dosyasından verileri yüklüyor. Sonraki iki frame de tüm veriler yuklenene kadar bekliyor. Bu örnek için aslında gerekli bişey değildi. Ancak uzun metinlerde bazı sorunlarla karşılaşmamanız için bu önlemi aldık. Son Frame ise alınan veriyi bir Text Fİeld içersinde gösteriyor. Hepsi bu !


DRAG and DROP (V4)   Sayfa başı

Çoğu interaktif sitelerde, shockwave oyunlarında rastladığımız bir teknikten bahsedeceğiz, sürükle ve bırak... Siz de bir nesneyi Windows ortamındaki gibi istediğiniz yere sürükleyip bırakmanın, FLASH' ta ne kadar kolay olduğunu göreceksiniz.

1- Sürükleceğimiz herhangibir obje yaratın. Deneme çalışması için bir kare veya daire yeterli olacaktır.



 

2- Objeyi seçin ve Insert * Convert to Symbol (F8) i seçin. Movie Clip seçeneğini işaretleyin ve Ok e basın.



3- Sembole çevirdiğiniz objeye ( kare veya daire demiştik ) sağ tıklayın. Açılan menüden Edit 'iseçin.

4- Aşama 2 deki gibi Insert * Convert to Symbol (F8) i seçin. Bu sefer Button seçeneğini işaretleyin ve Ok e basın.

5- Daha sonra objeye çift tıklayın veya sağ tıklayarak Properties i seçin. Açılan menüden Actions sekmesine tıklayın.



Bu kısıma şu kodları girin:

On (Press, Drag Over)
Start Drag ("")

End On


On (Release, Release Outside, Drag Out)

Stop Drag

End On


 

6- Eğer aşama 5'i hallettiyseniz bu maddeyi okumanıza gerek yok. Burada verilen kodun nasıl yazılacağı anlatılacaktır.
- Üzerinde + yazan düğmeye basıp Drag Movie Clip seçin.
- On(Release) in üzerine tıklayın. Press ve Drag Over seçeneklerini seçin.
- End On un üzerine tıklayın.
- Üzerinde + yazan düğmeye tekrar basıp Drag Movie Clip seçin.
- 4. satırdaki On(Release) in üzerine tıklayın. Release, Drag Out ve Release Outside seçeneklerini seçin.
- Start Drag("") ın üzerine tıklayın. Sağdaki menüden Stop Drag Operation ı seçin. Ok'e basın.
 

Artık animasyonunuzu test edebilirsiniz.


FAREYİ TAKİP ET (V4)   Sayfa başı

Eğer FLASH konusunda araştırma yapan biriyseniz, mutlaka karşılaşmışsınızdır bu tür bir oyunla... Farenizi nereye gotururseniz peşinden bir animasyon onu takip eder.
Zor olmadığını göreceksiniz. Aşşağıdaki bir kaç basamağı uygulamanız yeterli olacaktır.

1- Insert * New Symbol a gidin. Fare Animasyonu adını verin. Movie Clip 'i seçin. Buraya, farenizi takip etmesinin istediğiniz, bir obje veyaanimasyon koyun. (+) sembolünün üzerinde çalışmayı unutmayın !
 




 

2- Insert * New Symbol a tekrar gidin. Fare Hareketi adını verin. Movie Clip 'i seçin. Ok'e basın.



 

3- Window * Library e gidin. Açılan menüden Fare Animasyonu Sembolünü Movie Clip alanına sürükleyip bırakın.


 

4- Frame 2 ye sağ tıklayın ve Insert Keyframe i seçin. (F6) Frame 1 in üzerine çift tıklayın ve Actions sekmesine basın. + yazan düğmeye basın ve Stop u seçin. OK e basın. Aynı işlemi Frame 2 içinde gerçekleştirin.



5- Yeni bir Layer oluşturun. Bu layerdeki Frame 1 e çift tıklayın. Actions sekmesine tıklayın. + yazan düğmeye basın ve Drag Movie Clip i seçin. Target kısımına GetProperty (_x,_y) yazın. Hemen yanındaki ufak düğmeye basarak Expression ı seçin. ( üzerinde "abc" yazan ). Lock Mouse to Center yazısını seçili hale getirin.



6- Edit * Edit movie ye gidin. Fare Hareketleri adlı sembolü Library penceresinden film alanına sürükleyip bırakın.

İşte Fare Animasyonunuz hazır...


POP UP Pencere Yapımı (v4)   Sayfa başı

Bu derste, bir düğmeye tıkladığınızda, istediğiniz boyutlarda bir pop-up pencereyi nasıl açacağınızı anlatacağım.

Button yapmayı ve Button'a Action atamayı bildiğinizi varsayıyorum.
 

Herhangi bir düğme oluşturun. Düğmeye çift tıklayarak Instance Properties sorgu kutusunun açılmasını sağlayın.

Actions sekmesine tıklayın. + sembolüne basarak, Listeden Get URL yi seçin. Sağdaki URL yazan kısıma :

JavaScript:openWindow("popup.htm", "150", "200")

yazın. popup.htm adresi ve 150, 200 sayıları açılacak pop-up pencerenin dosya adını, gemişlik ve yüksekliğini belirtir. Eğer bu şekilde bırakırsanız, düğmeye tıkladığınız zaman 150 piksel ve 200 piksel boyutlarında bir pencerede popup.htm dosyası açılacaktır.

Dosyayı Publish ettikten ( File*Publish ) sonra, oluşan HTML dosyasını bir editör ile açın. ( Notepad bile açacaktır. ) <head> </head> tagları arasında herhangi bir yere şu satırları girin:

<script language="JavaScript">
<!-- hide from JavaScript-challenged browsers

function openWindow(url, w, h) {
var windowprops = "width=" + w + ",height=" + h;
popup = window.open(url,'remote',windowprops);
}

// done hiding -->
</script>

Bu şekilde açılacak olan pencerede toolbar, scrollbar, statusbar, addressbar ve menubar kapatılmıştır.

 

Eğer olsun istiyorsanız,

var windowprops = "width=" + w + ",height=" + h;

satırını aşağıdaki ile değiştirin:

var windowprops = "menubar,toolbar,location,status,scrollbars,resizable,width=" + w + ",height=" + h;

Kendiniz istediğiniz değişiklikleri yaparak, değişik varyasyonlar oluşturabilirsiniz.
Bu örneğin tek dezavantajı Flashta her publish edişinizde girdiğiniz satırları silecek olmasıdır. Bunu önlemek için File*Publish Settings*Formats a girerek, HTML seçeneğinin işaretini kaldırın.

Aynı anda birden fazla pop-up pencere açmayın ! Hatta eğer mümkunse pop-up kullanmaktan kaçının... Şahsen daha pop-up pencerelerden hoşlanan bir internet kullanıcısı görmedim.

 


AUTO-RUN ve BATCH FILE (V4)   Sayfa başı

 

AUTO-RUN

 Bu derste adım adım CD'nizdeki .exe için autorun yapmayı öğreneceksiniz.

1. Notepad i açın ve aşağıdakileri yazın.

[autorun]
open=intro.exe
icon=icon.ico


2. Çalışacak Flash projector dosyanızı "intro.exe" ve gözükecek ikonu "icon.ico"ile değiştirin

3. "All Files (*.*)" ı seçerek Notepad'e yazdığınız bu dosyayı "autorun.inf." olarak kaydedin.

4. Bu şekilde yazıp da dosyaları bir klasör içine koyarsanız (autorun.inf da dahil) cd niz yanar, yani autorun'lı kullanamazsınız. Autorun.inf bir klasöre konmayacak, diğerlerini de bir klasöre koyarsanız adresini belirtmek zorundasınız.

Artık cd niz sürücüye yerleşince otomatik olarak çalışacak.

Tebrikler!

BATCH FILE

Bu derste bir çok işlev için kullanılabilecek bir batch dosyası hazırlamayı öğreneceğiz. İlk bölümde 'explore a cd' yapan bir .bat dosyası yazacağız, ikinci bölümde ise varsayılan yazma programı ile açacağız, çalıştıracağız.Bu dersten sonra daha karmaşık .bat dosyalarını kendiniz yapabileceksiniz.
Bir .bat dosyası yazarak bir dizini araştıarbiliriz.:

1
. Notepad' i açın ve yazın

start
@ECHO OFF
explorer D:\

E
explorer D:\' yazmanız D dürücüsünü taramanızı sağlar ama daima tam istediğiniz dizin adresini yazmaya dikkat edin. Harfi harfine doğru olmalı.

2. Bu dosyayı kaydetmek için "All Files (*.*)" ı seçip mydoc.bat ismiyle farklı kaydedin.

3. Flash movie nizle çalıştırmak için flash movie nizin içine bir sembole aşağıdaki kodları yerleştirin.

On (Release)
FS Command ("Exec", "mydoc.bat")
End On


Yukarıdaki mydoc.bat 'ı kendi kaydettiğiniz isimle değiştirin.

4. Bat dosyanızın özelliklerini açın. Program sekmesindeki "close on exit" kutusunu işaretleyin, bu program durunca pencerenin kapanmasını sağlar ve kullanıcıya ufak bir kolaylık da sağlamış olur.Tamam a tıklayınca aynı diznide .bat gibi bir .pif dosyasının olduğunu göreceksiniz..

5. Cd nizin bozulmaması için .exe, .bat, .pif dosyalarınızın ana dizinde yan yana durmamasına dikkat edin.

Butona tıkladığınız zaman.bat dosyasının çalışıp dizini açtığını göreceksiniz..
 


FULL SCREEN (V4)  Sayfa başı

Macromedia tarafından geliştirilen Flash programının bildiğiniz gibi çok falza kullanım alanı var. Bunlardan bir tanesi de interaktif cd ler hazırlamak. Hazırladığınız introyu kullanıcılara tam ekran sunmak istiyorsanız, son derece basit bir işlem ile bunu gerçekleştirebilirsiniz.

Ancak web ortamında çalışıyorsanız, bu ders notunu şimdiden okumaktan vazgeçin. Çünkü hiç kimse tam ekran bir web sitesinden hoşlanmaz. Site yüklenirken sadece onu seyretmek durumunda bırakılması son derece sıkıcıdır kullanıcı için. Unutmayın ki bir siteyi sizin nasıl gördüğünüz değil, beğenisine sunduğunuz insanların nasıl gördüğüdür.

Gelelim nasıl yapacağımıza,
 

1- Animasyonunuzun ilk frame'ine gelin. Herhangi bir layer'da herhangi bir keyframe olabilir bu.

2- Keyframe e çift tıklayarak Frame Properties sorgu kutusunu açın ve Acitons sekmesine tıklayın. + sembolüne basarak listeden FS Command ı seçin.

3- Sağdaki kutulardan Commands içine fullscreen yazın. Arguments içine de True yazın.


 

Artık animasyonunuzu tam ekran oynatabilirsiniz. Intronun Cd de kendi kendine çalışabilmesi için File*Publish Settings*Formats a girerek gerekli ayarları yapın ve filmi .exe dosyası olarak kaydedin.

En önemlisi Çıkış düğmesi koymayı unutmayın ! Kullanıcılar filimizden çıkmak için Alt+F4 yapmak zorunda kalmasınlar :)


KARE ALMA   Sayfa başı

Bu ders notunu, Set Variable eylem komutunu nasıl kullanacağımızı anlatmak için yazıyorum. Visual Basic diline benzeyen ( Hatta neredeyse VB diyebiliriz ) Flash Action Script'de ( Flash Eylem Komutları ) bir değişkene değer atamak için Set Variable kullanırız. Basit bir kare alma örneği ile açıklamaya çalışalım.

Dikkat: Ayrıca bu ders notunda, HTML de çok sık kullandığımız Text Field nesnelerinin FLASH'ta nasıl kullanıldığını da öğreneceğiz !

1- Yeni bir film dosyası açın. Tool Bar dan Text Tool'u seçin. Ve aşağıda çıkacak olan Text Field düğmesine basın. Film alanında istediğiniz boyutlarda bir Text Field oluşturun.



 

2- Oluşturduğunuz Text Field'a sağ tıklayın ve Properties'i seçin. Variable değeri olarak "veri" girin. OK' e basın.



 

3- Kendi keyfinize göre bir arabirim oluşturun. Aarabiriminizde 2 adet Text Field ve bir adet Düğme olması gerekiyor. Benim hazırladığım arabirim:



Burada dikkat etmeniz gereken nokta : İkinci Text Field'ın seçeneklerinde Variable olarak "sonuc" ( tırnaklar yok ) girin. Ayrıca aynı ayar penceresinde Disable Editing ve Disable Selection seçeneklerini işaretleyin.



 

4- Hazırladığınız düğmenin Actions sekmesinde + tuşuna tıklayarak Set Variable seçin. Sağdaki ayarlarda Variable kısmına "sonuc" , Value kısmına "veri*veri" (tırnaklar yok) yazın. Value kısmının yanındaki "abc" tuşuna basarak Expression'u seçin. Kodlarınız şu şekili almış olmalı:

On (Release)
Set Variable: "sonuc" = veri*veri
End On

İşte hazır !


Peki ya nasıl çalışıyor ?


Burada 1. Text Field'a girdiğiniz değer "veri" adlı değişkene veriliyor. Düğmeye bastığınızda, "veri" nin sahip olduğu değer kendisiyle bir kere çarpılıyor ve sonuç Set Variable eylem komutu ile "Sonuc" değişkenine atanıyor.

Sonuc değişkeni de 2. Text Field'ın değeri olduğu için, burada sonuc kullanıcıya veriliyor.


RASTGELE RAKAM ÜRETECİ      Sayfa başı

 

10 tane rastgele sayı üretmek. Çözümü aşağıdaki kodlarda:

Set Variable: "i" = 1
Loop While (i <> 11)
Set Variable: "rnd" = Random (10)
Set Variable: "x" = 1
Loop While (x <> (Length(Temp)+1))
If ((Substring (Temp, x, 1)) eq rnd)
Set Variable: "rnd" = ""
End If
Set Variable: "x" = x+1
End Loop
If (rnd ne "")
Set Variable: "Temp" = Temp & rnd
Set Variable: "i" = i + 1
End If
End Loop

Rastgele!!! Bu kodlar ikinci karenin actionlarına yerleştirilecek.

Bu kodlara adım adım bakalım. İlk Önce bir değişken tanımlayalım:
Döngü için başlama değeri 1

Set Variable: "i" = 1

İlk döngü 10 sefer, Çünkü 10 sayıya ihtiyacımız var.

Loop While (i <> 11)

RANDOM fonksiyonunu kullanacağız bunun için "rnd" değişkeni ithal etmemiz gerekiyor.

Set Variable: "rnd" = Random (10)

"x" değişkeni "TEMP" değişkenlerinin içeriğinin kontrolünde kullanıldı. Bu sonuç ile ilgili birşey.

Set Variable: "x" = 1

Bu da güçlü bir nokta

Loop While (x <> (Length(Temp)+1))
If ((Substring (Temp, x, 1)) eq rnd)
Set Variable: "rnd" = ""
End If
Set Variable: "x" = x+1
End Loop
End Loop

Bu kontrol edilmemiş bir rastgele sayı,rnd değişkeninin sahip olduğu değer, temp değişkeninde zaten vardı. Temp'deki her sayı döngü ile yapılmıştır. Döngüdeki her sayı uzunluk fonksiyonu ile kararlıdır. Varolan rnd değişkeni belli ise üretilmiş numara etmp e verilmemişse o ona ekler.

If (rnd ne "")
Set Variable: "Temp" = Temp & rnd
Set Variable: "i" = i + 1
End If


"i" için döngümüz artarak devam ediyor.

Tabi ilk karedeki button bir sonraki kareye gitme emrini verecek. En sondaki button ise en başa yollayacak movie yi.

Son olarak size bir de film sahnesinin genel görünümünü vereyim.



Bu bir örnek. Bakın beğendiniz mi?
 

Download FLA
 

Örnek dosyayıu indirip nasıl uygun bir şekilde kodları yerleştirdiğine bakabilirsiniz.


 

FAKTÖRİYEL HESABI İÇİN FLASH KULLANMAK   Sayfa başı


Bazı karışık matematik fonksiyonları ve bir kısım faktöriyel hesapları flash ile animasyon yapmak için hazırlayamazsınız. Ama küçük bazı sayılar için faktöriyel hesabı yapılabilecek bir movie hazırlanabilir. Mesela 3!(3*2*1). Taylor serisi gibi ve permutasyon, kombinasyon gibi yöntemlerin içinde bulunan faktöriyellerde kullanabilirsiniz. Tabi ilk önce birine sayıyı girmek birinden de sonucu almak için iki tane text kutusu hazırlamalı ve isimlerini vermelisiniz. Bir de button gerekebilir. Tuş haricinde button da kullanılacaksa.

Örneği izlemek için tıklayın

Örneği download etmek için tıklayın


İki tane istisna fonksiyon vardır:
· 0'ın Faktöriyeli 1
· Negatif sayıların faktöriyelini alamazsınız.



Bu kodlar frame'in actionlarına yazılacak.
Verdiğiniz sayıdan aşağıya yani sıfıra kadar sonucu bir sonraki sayı ile çarpan bir döngü ile bunu halledebilirsiniz.
Temel kodlar bunlar: (Bu kodları da buttona yazabilirsiniz.)

If ( n > 0)
Set Variable: "i" = 1
Set Variable: "total" = n
Loop While (i<n)
Set Variable: "total" = total*(n-i)
Set Variable: "i" = i+1
End Loop
Else If (n=0)

Set Variable: "total" = 1

End If
If (n<0)
Set Variable: "total" = "Negative Num"
End If


Girilen numara n, bunu bir önceki ile çarpıp -tabi bu bir düzgün azalma ile olacak- sonucu ondan sonraki (yani bir önceki sayı, azalmaya göre) sayı ile çarpacak. Sıfırın otomatik olarak bir alınması gerektiğini belirtmezseniz hata mesajı verir.
Yukarıdaki şekilde gördüğünüz kodları ya da benim .fla'daki butonun actionlarını alıp inceleyebilirsiniz.
Kolay gelsin.


KAREKÖK İŞLEMİ   Sayfa başı

Karekök alma Flash Expression Editörün çok kolaylıkla yapabileceklerine şaşırtıcı bir örnektir.

Set Variable: "n" = 1
Set Variable: "counter" = 0
Loop While (counter<iterations)
Set Variable: "n" = n - ((n*n - input) / (2*n))
Set Variable: "counter" = counter+1
End Loop
Set Variable: "/:output" = n

Movie'miz iki kareden oluşuyor bu kodları ikinci karenin acionlarına eklemeniz gerek. Birinci kareye "iterations" adlı set variable yi ekleyerek değerini 15 yapın. Sonuç için hazırladığınız buttonun actionlarına call ekleyip frame kutusuna "sqrt" yazın. Çünkü ikinci karemizin adı sqrt olacak. Sahnenin görünümü:

 



şeklinde işlem bu kadar.
Kolay gelsin.