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:\
Eexplorer 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.
|