Kısa Flash Notları
Alıntıdır:http://www.adobeturk.com/forum/1-vt5688.html?postdays=0&postorder=asc&&start=0
Merhaba bazı flash ile ilgili çalışma notlarımı paylaşmak istedim.
Bu notlar Flash çalışmaya başladığım sıralarda benden sonra çalışan bi tanıdığım benim kadar zorlanmasın diyerek almıştım.
Hepsini pastelemek istemedim, öğretmekten çok hazır a konmak olacağını düşündüm.
Umarım faydası olur.
Flash a ilk başladığım zaman not tutmaya başladığım için bazılarına göre büyük bir kısmı basit olabilir fakat bilmeyenler için yazdım.
--- El yazısı effecti ---
El yazılarını maskeleme yontemı ıle yap Frame frame yuvarlak koyarak
//----Bir Animasyonu tam ekran oynatmak icin ( durum cubugu vs. gözükmez (Ekran Koruyucular icin ideal))---
on (release){
fscommand ("fullscreen", "true");
}
//---sahneyi yada animasyonu normal büyüklüğünde oynatmak için---
on (release){
fscommand ("fullscreen", "false");
}
//---Sahne tam ekran yapıldığında nesneleri aynı oranda büyültmek---
on (release){
fscommand ("allowscale", "true");
}
//---Nesneleri gerçek boyutlarında göstermek---
on (release){
fscommand ("allowscale", "false");
}
//---Flash player a ait menuyu göstermek---
on (release) {
fscommand ("showmenu" , "true");
}
//---Flash player a ait menüyü gizlemek---
on (release){
fscommand ("showmenu", "false");
}
//---Kısayol tuşlarını pasif yapmak---
("trapallkeys", "true");
//---Kısayol tuşlarını aktif yapmak---
("trappalkeys", "false");
//---Bir program çalıştırmak---
on (release) {
fscommand ("exec", "calc.exe);
}
//---Programı kapatmak---
on (release)
fscommand ("quit");
}
//--- Scane istediğin sanırım )):---
on (release)
gotoAndPlay ("Scane2",1); // Scane2 ( Scane adı) ,1 (Frame)
}
//---Çalışan Flashdan çıkmak Kullanıcı için---
on (release)
fscommand (quit, true);
}
//---Bir İnput dakileri vs. bi yere kaydetmesi icin kullanabilirsin. Yada Yönetici mesaj felan---
on (release){
adi="Enver";
soyadi="Sen";
yasi=1;
fscommand ("save","zp.txt");
}
//---Aşağıdaki örnekte farenin düğme üzerine gelmesi ile filmin 2.karesi, farenin dışına çıkması ilefilmin 1. karesi
on (rollOver) {
tellTarget(zpik){
gotoAndPlay(2);
}}
on (rollOut) {
tellTarget(zpik){
gotoAndPlay(1);
}}
//---Eğer scane 2 nin 6. frane yüklendiyse 7.frame çalıştır.---
ifFrameLoaded ("Scane 2", 6){
gotoAndPlay(7);
}
//---loadMovie ve Film Yükle( Bir konumdaki filmi istenilen level e yüklemek için kullanılır---
//loadMovie(url [,konum/hedef, degiskenler ]]);
on (release){
loadMovieNum ("xxxx.swf", 1);}
//---clibe alpha vermek---
on (release){
_root.zpclip._alpha=50;
//
zclip o clibin adı (movieclibin yada başka bişi olabilir.
}
//--Nesneyi görünmez yada görünür yapma
on (release) {
_root.zpclip._visible=0; //zpclip clibin adı
0 değeri falsede olabilirdi..
}
//---_x,y Nesnenin sol ve üst taraflarının pixel olarak sağa yada üst kısma doğru ayarlanmasını sağlar
// kısacağı _x değerinin artması ile nesne sağa doru hareket eder
// _y değerinin artması sonucu ise nesne yukarıya doğru hareket eder..
on (release){
_root.zpclip2._x=100;
_root.zpclip2._y=100;
}
//---nesneyi %10 oranında buyultme ama olmadı )): ---
on (press){
genislik=_root.ass._xscale;
yukleklik=_root.ass._yscale;
genislik+=10;
yukseklik+=10;
_root.zpmc.xscale=genislik;
_root.zpmc.yscale=yukseklik;
}
//---Dönder 20 derecelik açılarla---
on (press){
donme=_root.zpmc._rotation;
donme+=20;
_root.zpmc._rotation=donme;
}
//---o butonun +9 u ile her biri ayrı rengde ve ayrı yerde çıkartıyo Ama çalışmıyo )): ---
on (press){
for (var i=0;i<9;i++){
zmpc.duplicateMovieClip("zmpc"
+i,i);
_root["zmpc"+i]._x=Math.floor(
Mathrandom()*200);
_root["zmpc"+i]._y=Math.floor(
Mathrandom()*200);
top_rengi= new Color (_root["zmpc" add +i]);
kirmizi = Math.floor(Math.random()*225);
yesil = Math.floor(Math.random()*225);
mavi = Math.floor(Math.random()*225);
//rengi uygula
top_rengi.setRGB(kirmizi*65536 + yesil*256 + mavi);
}
}
//---Tıkladğında Buton yapışır eline Mouse onunla beraber hareket eder --
on (press) {
startDrag(this, false);
}
//---Tuş bırakıldığında sürüklemeyi ( Taşımayı ) sona erdir---
on (release){
stopDrag();
}
//---İkisini bi kullan Taşı Bırak ( Açılır kapanır Menü Hesabı ) ---
on (press) {
startDrag(this, false);
}
on (release){
stopDrag();
}
//--- Bir şeyi istediğin yere taşı bırak olmassa geri gelsin harf oyunu gibi
//Eğer ihtiyacın olursa AS 197 den okuyabilirsin AS 1.0 Boş oluncada oku..
-----// Açıklama Örneğin i++ Bunun anlamı i yi coğalt i-- i yi azalt Enver++ cogalt...-----
---// Bunlar bitince AS 1.0 sayfa 216 da preLoading var onu çalış... ---
---// Bir txt deki yazıyı swf ye getirtmek zahmetsiz + bunu yukarı assagı oynatmak aynı sagdakı gıbı mouse well yada
tuş ile yukarı aşağı oynatmak açıklayıcı bilgiler için ideal. ve sürekli değişiyorsa haber bölümüde olabilir ---
Sahneye 1 tane metin kutusu çiz bunun buyuklugu kadar alanın ıcınde olacak yazılar. Bunun adını Metin_kutusu yap (mesela yani)
Sonra bunu Dynamic metin kutusuna cevir ve Multiline olarak yap ( single line multiline ) sonra aynı klasor e bir tane txt yap
isminide deneme.txt olarak degiştir. Şimdi altına bi tane buton çiz buton yaptıktan sonra as sine geç (Yukle buton):
on (release){
loadVariables ("deneme.txt","");
}
Silmek İçin (sil botonuna yaz);
on (release){
_root.metin_kutusu="";
}
Yukarı Çıkartmak ıcın ( (Efect) bi tane buton çiz dynamic in sagına Yukarı butonu olsun bu ;
on (press){
metin_kutusu.scroll--;
}
Aşagı indirmek icin( (Efect) bi tane buton çiz dynamic in sagına asagi butonu olsun bu ;
on (press){
metin_kutusu.scroll++;
}
istersen bunları mouse ustune gelınce de yaparsın, istersen sole bisi yap uo bolumu skiller
64 tane buton olsun her birine tıklayınca dier skiil i aynı ekranda gostersin (;
Ama atıyorum Anatomy skill ine tıkladıgında yazıların karısmaması için 68 skill in adresini yazacaksın sılecek hepsini tek tıklamaya
Neden mi bole bı ona tıklar bı buna sonra yazılar karısır ((:
on (release){
_root.Swordsmanship="";
}
on (release){
_root.Healing="";
}
on (release){
_root.Mage="";
}
on (release){
_root.Poisoning="";
}
// alt taraf ekrana gelecek yazı yukarısı silinenler
on (release){
loadVariables ("Anatomy.txt","");
}
//Ve yukarı cıkartmak asagı ındırtmek ıcın 64 skillin adınıda yazmak gerekıyor ((: aşagıdakı gıbı
//Yukarı Buton
on (release){
Anatomy.scroll--;
}
on (release){
Mage.scroll--;
}
//aşagı ındırmek ıcın
on (release){
Anatomy.scroll++;
}
on (release){
Mage.scroll++;
}
---İstediğin Frame de istediğin kadar bekletmek icin verilen kod
stop();
basla=function(){
clearInterval(zamanlama);
play();
}
zamanlama=setInterval(basla,
4000); //4sn bekler
--- Kütüphanedeki 1 mc çalıştırmak ---
on (press){
_root.attachMovie("yuvarlak", "yuvarlak_mc",-11);//mc nin adı yuvarlak mc sonra yuvarlak_mc olarak kopyalıyo atıyo ekrana
_root.yuvarlak_mc._alpha = Math.random () *100;
_root.gotoAndPlay (5);
}
/* Yukardaki tuşa basıldıgı anda kütüphanede duran "yuvarlak" adlı movieClip i" 1 tane kopyalayarak ismini
"yuvarlak_mc" olarak değiştirir ve sahnede 1 yer belirleyerek o kısımda çalıştırır
((((( _root.attachMovie("yuvarlak", "yuvarlak_mc",-11); )))) üçüncü satırda her çalışmasında o mc ye
kafasına göre alpha ( saydamlık verir random ) ( _root.yuvarlak_mc._alpha = Math.random () *100; )
ücüncü satırın bır anlamı yok
ona çalışacaksın ilerde...
--- Kütüphanedeki 1 mc yi çağırdıgında ( mc nin adı yuvarlak_mc ) Çağırdığın mc nin istediğin yerden cıkması ıcın
_root.yuvarlak_mc._x = 150;
_root.yuvarlak_mc._y = 150;
----- çağırdığın mc yi istediğin frameden başlatmak için
_root.yuvarlak_mc.gotoAndPlay (5);
--- Frame Hızını arttırma ve düşürme ---
2.si setinterval komutu ile bu işi yapabilirsin... istediğin movie clip'i istediğin hızda oynatabilirsin....örnek kodlar
aşağıda :
MovieClip.prototype.gogo=
function(fps){
clearInterval(this.fps_id);
this.fps_id=setInterval(
function(id1){
with(id1) {
if(_currentframe==_
totalframes) clearInterval(id1.fps_id)
else gotoAndStop(_currentframe+1)
}updateAfterEvent();
},1000/fps,this);
}
mc1.gogo(24);
mc2.gogo(30);
mesela burada "mc1" bir movie clip mc1 24 frame hızıyla hareket ediyor...
mc2 de bir movie clip oda 30 frame hızıyla hareket ediyor......umarım anlatabilmişimdir.....
kolay gelsin.....
--- as yükletme ve çalıştırma ---
#include komutunun bulundugu satırda - açıklamalarda dahil olmak üzere - başka hiçbir ifade
bulunmamalıdır.
#include "hariciDosya.as" // Class dosyasını yükle anlamına geliyor
yukardaki örnekte, #include komutu ile aynı satırda bir açıklama kullanılmıştır. Fakat bu bir
hatadır ve bu nedenle harici script dosyası Flash movie içine yğklenmeyecekdir. Düngünü aşağıda
on (press){
#include "Linker.as" //linker script dokumanının adı
getUrl(link_1,"_blank");
gotoAndPlay(frame_1);
}
--- Dizi Array Değişkenleri ( Bir değişkenin içinde birden fazla veri saklamak icin " new Array (); " değeri kullanılır.
Örnek :
Kullanici = new Array ();
Kullanici [0] ="Savaş"
Kullanici [1] ="Tekin"
Kullanici [2] ="Numan"
Kullanici [3] =" Sedat"
/*örnekte görüldüğü gibi önce "new" operatörü ile yeni bir dizi değişken Array nesnesi oluşturuluyor ve oluşturulan nesne
" kullanici " değişkenine atanıyor. " kullanici " değişkeni, artık dizi değişken olduğu için birden fazla değer
taşıyabilir.
Bu değişkenin sonuna yada başına sonradan bir ilave yapmak istenilirse -- kullanici.push"("ıvır", "zıvır"); -- olarak ekle bu
sonuna yazar başına yazmak istenilirse komut --Kullanici.unshift("zıvır", "ıvır");
Bir dizi değişkenin varolan öğelerini kopyalayarak yada yenni öğeler ekleyerek de yeni bir Array nesnesi oluşturabilirsiniz
Kullanici.concat(ıvır,zıvır); kullanici adı adında belirtilen dizi değişlkenin kopyasını alır ve değer parametresinde
belirtilen yeni öğeleride ekleyerek, dönen sonucu yeni bir dizi değişkene atar.
Kullanici1 = [1,2,3,4,5];
Kullanici2 = [6,7,8,9,0];
tum_kullanici = Kullanici1.concat(kullanici2);
örnekte kullanici1 dizi değişkeninin öğeleri 1,2,3,4,5, ve kullanici2 dizi değişkeninin öğeleri ise 6,7,8,9,0 dır.
concat metodu ile kullanici1 dizi değişkeninin öğeleri, kullanici2 dizi değişkeninin öğeleri ile birleştirilmiştir.
bu durumda ortaya yeni bir dizi değişken çıkmış ve bu dizi değişkenin, tum_kullanici değişkenine atanmıştır. Bu durumda
tum_kullanici dizi değişkeninin değeri şu şekilde olacakdır.
0:1
1:2
2:3
3:4
4:5
5:6
6:7
7:8
8:9
9:0
Bu metod kullanilirken kullanici1 ve kullanici2 dizi değişkenlerinde bir değişiklik olmaz "copy paste" hesabı*
--- Bu dizilerden Öğe çıkartma yada silme ---
kullanici = new Array ("Beyinsiz", "Salak", "Odun", "Aptal");
delete kullanici[1]; // <--- bu komut ile yukardaki dizi değişkeninin içindeki 1 numaralı ( Salak ) kelimesi silindi.
Salak silindi Çünki : Salak 1 Numara dizilerde 0 dan başlıyo yada öle bişi emin deilim.
--- Bu dizilerdeki ilk öğeyi silmek icin ayrı bir yol var ( 0 ) numaralı öğeyi ---
kullanici = new Array ("Funda", "Ulaş", "Ebru");
kullanici.shift(); // Funda silindi geriye Ulaş ve Ebru kaldı.
Bu değişkeni istersen başka bi yere atıyabilirsin ornek :
kullanici = new Array ("Funda", "Ulaş", "Ebru");
SilinenKullanici = kullanici.shift();//böylece shift (); ile silinen kullanıcı " SilinenKullanici " değişkenine taşındı.
/////*****----- Delete ile silindiği zaman sıra numaraları değişmez 0,1,2,3 diye kalır shift(); ile silindiginde
kayar 0 numaralı olanı siler 1 numara 0 olur sıra ile kayar -----*****
--- shift (); olayının tam tersi pop(); dur bu da sondaki öğeyi siler.
kullanici = new Array ("Funda", "Ulaş", "Ebru");
kullanici.pop();//Ebru silindi
Aynı shift (); deki gibi silinen öğeyi başka bi değişkene atayabilirsin. ( Kes Yapıştır hesabı )
kullanici = new Array ("Funda", "Ulaş", "Ebru");
SilinenOge = kullanici.pop();//öğeyi kullanicidan kesip "SilinenOge" ye yapıştırdık.
--- Dizi lerde kullanılan "1 taşla 2 kuş" yöntemiymiş splice (); metodu
kullanici.splice(baslangic,
silinecekOgeNumaraları,
EklenecekOgeler,);
kullanici = new Array ("Funda", "Ulaş", "Ebru");
kullanici.splice (1,2, "Murtaza", "Demet");
Sonuç : 1 ve 2 numaralı öğe silindi ve sona "Murtaza ve Demet" eklendi.
kullnici = ("Funda", "Murtaza", "Demet");
--- Array nesnesinin sort(); metodunu kullanarak, istediğiniz bir dizi değişkeninin öğelerini alfabetik sıraay göre
düzenleyebiliriz
isimler = new Array ("Murtaza", "Ahmet", "Onder", "Mehmet");
isimler.sort();//aşağıdaki şekilde dizer
0= Ahmet
1= Mehmet
2= Murtaza
3= Onder
isimler.sort(-1); //bu şekilde olursa ters dizilir z-a ya
//////*****----- Fonksiyonlar ( Funcsitons ) Notlar -----*****
Ne dir ? = Hemen hemen her projenizde mutlaka tekrarlayarak yapmanız gereken işlemler bulunur. Kodları kopyalayıp yapıştırmak
yada kodları tekrar yazmak sizin icin tek çözüm gibi görünebilir. (ame deil
)
Diyelim ki; aşağıdaki satırı en az 15 movie clip sembol ıcın kullanmanız gerekiyor.
movieClip_mc._x = 50;
Sonradan bu değeri 70 olduğunu düşün felan filan.... ( böle bi işe yarıyo ama tam anlamadım tekrar çalış bu konuya )
Funcitonlar bir kere tanımlanırlar ve tüm Flash move içinde kullanılabilirler. Fonksiyon tanımlanın iki farklı yolu var.
Her iki durumdada function anahtar sözcüpü kullanılır.
function fonksiyonAdı () {
yapılacak işler ;
}
ya da ;
fonksiyonAdı = function (){
yapılacak işler;
}
Yukarıda görüldüğü gibi her fonksiyonun bir adı olur ve gerektiğinde fonksiyonu tanımladığımız bu adla fonksion
çağırabiliriz.
Fonksiyon adı tanımlanırken değişkenlerde olduğu gibi aşşağıdaki kurallara uymalısınız ;
1. Fonksiyon adları içinde boşluk kullanılmaz.
function özellik ayarla (){
} // hatalı fonksiyon adı tanımlaması
2. Fonksiyon adları sayı yada özel karakterlerle başlayamaz.
function 2lestir(){
} // hatalı fonksiyon adı tanımlaması
3. Anahtar sözcüklerden biri, ( return, function gibi ) Fonksiyon adı olarak kullanılmaz.
funciton new (){
} // hatalı fonksiyon adı tanımlaması
Çağırılan fonksiyon, bloğuna ait olan satırı çalıştırır ve fonksiyon bitiminde çağrıldığı satıra geri döner.
Örnek Fonksiyon ;
Aşağıdaki fonksiyonu Timeline 'da ilk Frame 'ye ekleyin.
deneme = function (){
trace ( "Şu an fonksiyon içindesiniz" );
}
Bir buton sembol oluşturun ve buton sembole aşşağıdaki kodu ekleyin.
on (press){
trace ( "Şu an buton içindesiniz" );
deneme (); // <---- Tam anlamı ile nasıl kullanıldığını hala öğrenemedim
trace ( "Şu an tekrar buton içindesiniz" );
}
( Olmadı function (); // forumlarda bi sor bakak hata nirde )
// Hata tamamdır _root. ekledim sorun kalmadı. dorusu aşağıda
on (press){
trace ( "Şu an buton içindesiniz" )
_root.deneme ();
trace ( "Şu an tekrar buton içindesiniz" )
}
Kısacası cok kullandıgın bi a.s ye function ozelligi ver sadece adı ile cagır her kodla yapma bu işi diyebiliriz...
Not = Daha önce tanımlanmış bir fonksiyonu daha sonra kullana biliriz. Tanımlanmamış bir fonksiyonu kullanamassın önceden
Örn ; 2 inci frame de tanımlanmış bir fonction u 1 inci framede kullanamassın 1 incide tanıtıp 2 incide kullanabilirsin.
Eğer bir fonksiyonu yol belirtmeye gerek kalmadan tüm timeline larda kullanmak istersek fonksiyonu global olarak tanımlamanız
gerekmektedir.
Aynı değişkenlerde olduğu gibi _global tanımlayıcısını kullanarak istediğimiz bir fonksiyonu, global tanımayabılırız.
_global.fonksiyonAdı = function (){
yapılacak işler;
}
_root. gibi ama onun ulaşamadığı yerlere ulaşıyo gibi düşünebiliriz.// cok kullandıgın gerekli yada sık kullandıklarını global
tanımla
/////*****----- Fonksiyonlara veri gönderme -----*****
functionAdı = function (){
daire. _x= 50
daire. _alpha= 50;
}
??????????????????????? ( Instance Name ini " daire " yaptım oldu a.q )
functionAdı = function (movieclip,x,alfa){// bu örneği (bu aradakiler yazı olmayacak tabi sanırım b: )
movieclip. _x.= x
moviclip. _alpha= alfa
}
???????????????????????
functionAdı ("daire", 50, 80);
yukardaki functionAdı diye tanımladığımız fonksiyonu çağırarak " daire " instance name referansına sahip mc nin _x pozisyonunda
( 50 ), _alpha özelliği ise 80 ' e ayarlanmasını sağlıyoruz // sanırım kütüphanedi mc yi çağırırken kullanıyoruz.
/////*****----- getTimer() -----*****
getTimer () fonksiyonu Flash movie nşn çalışma Flash Player içinde gödterdiği andan itibaren geçen süreyi milisaniye
olarak verir
getTimer () fonksiyonu ile Flash movie'nin çalışma zamanı alınarak baslangic değişkenine atanıyor. Flash movie oynatılmaya
başlayalı eğer 2 saniye geçti ise başlangic değişkeninin alacağı değer 999 milisanie *2 saniye = 1998 milisaniye olacaktır.
_root.onClipEvent = function (){
sure = getTimer () /999
if (sure > 10){
_root.daire._vixible = false
}
}
Yukardaki örneğe göre, Flash movie'nin Flash Player içinde görünmesinden 10 saniye sonra ana sahne üstündeki daire instance
name referansınsa sahip movie clip sembol görünmez olacaktır. Bı örnekten yola çıkarak getTimer () fonksiyonu ile zamanlanmış
görevler
hazırlayabilirsiniz.
Not = Flash Player 6 ve sonrası için getTimer () fonksiyonu yerine setInterval () fonksiyonunu kullanarak zamanlanmış
görevler oluşturabilirsiniz. setInterval () fonksiyonu kullanarak oluşturulan zamanlanmış görevler, getTimer () a göre daha
işlevsel olacaktır.
gorunmezYap = function (mc){
mc._visible = false;
clearInverval (gorunmezInverval);
};
gorunmezInverval = setInterval (gorunmezYap,1000,_root.daire)
;
/////*****----- Koşullu ifadeler ( Condition Expressions ) -----*****
if = Bir deyimin çalıştırılmasını, bir koşula bağlamak istiyorsanız, if deyimini kullanabilirsiniz. if deyimi;
if (koşul) {
Koşulun gerçekleşmesi durumunda yapılacak işler;
}
else = else deyimi if deyimi ile birlikte kullanılır ve if deyimi belirtilen kuşulun gerçekleşmemesi durumunda
çalıştırılacak satırları belirlemenize olanak sağlar.
else deyimi;
if (koşul){
Koşulun gerçekleşmesi durumunda yapılacak işler;
} else {
Koşulun gerçekleşmemesi durumunda yapılacak işler;
}
if (yas>=35){ // yaş 35 veya 35den büyükse
trace ("İkinci baharı yaşıyor ömrüm");
} else { // değilse ( yaş 35 den kücükse )
trace ("Daha ömrümün baharındayım");
}
else if = else if deyimi, if deyimi kullanılır ve bir if deyimi ile birlikte birden fazla koşulu kontrol etmesine
olanak sağlar.
if (derece<=0){
trace ("Hava 0 ın altında");
} else if (derece>0 && derece <20){
trace ("Hava 0 ile 20 derece arasında");
} else if (derece>20 && derece<30){
trace ("Hava 20 ile 30 derece arasında");
} else if (derece>30){
trace ("Hava 30 derece yada üstünde");
}
eğer else if yerine if deyimini kullanırsan birbirinden bağımsız olarak hareket eder kısacası yukardaki koda göre düşünürsek
Havanın 35 derece olduğunu farzedelim. ( ve kodları 0 ın üstünde 10 un üstünde 20 nin üstünde 30 un üstünde olduğunu varsayalım)
Yukardaki kodla çıkacak sonuc
trace ("Hava 0 ın üstünde") olacakdır. eğer if deyimini kullanırsak sadece cıkacak sonuc
Hava 0 ın üstünde
Hava 10 un üstünde
Hava 20 nin üstünde
Hava 30 un üstünde
olacakdır bunun nedeni " if " deyimi birbirinden ayrı çalışır. " else if " deyimi bir bütün ilkinde sonucu alamazsa
ikinci satıra geçer oradada alamassa 3 üncü satıra gecer...
--- switch, case, default ---
Flash Mx versiyonu ile gelen switch deyimi, kullanılarak tıpkı if deyiminde olduğu gibi, script akışını kontrol etmek amacı
ile kullanılır. Örnek ;
switch (sayi){
case 0:
gotoAndPlay (5);
break;
case 1:
gotoAndPlay(12);
break;
case 2:
gotoAndPlay (17);
break;
}
yukardaki örnekte anlatılan = switch deyimi ile sayı değişkeninin değeri kontrol ediliyor. Eğer sayı değişkeninin değeri 0'a
eşitse gotoAndPlay (5) satırı çalışacak ve Flash movie 5. frame'ye giderek oynatacak. 1'e eişte gotoAndPlay(12) satırı çalışacak
ve Flash movie 12. frame 'ye giderek oynayacak. 2' ye şitse gotoAndPlay(17) satırı çalışiacak ve Flash movie 17. frameye
giderek oynayacaktır.
Bir switch deyimi, case ile belirlenenuygun ifadeye rastladıktan sonra geriye kalan tüm kod bloğunun çalıştırılmasına devam
edecektir. Bunu önlemenin tek yolu konu başlığındaki break deyimini kullanmak olacaktır. case lerin altına koyarsan buldugunda
çalıştırmayı durduracaktır.
switch (sayi){
case 0:
gotoAndPlay (5);
break;// <------- sayımız 0 diyelim dier dizinler çalışmaz
case 1:
gotoAndPlay(12);
break;
case 2:
gotoAndPlay (17);
break;
}
--- " ?: " deyimi ---
?: bu deyim hemen hemen if deyimi ile aynı işlevi görür bir if deyimi ile yaptığımız kodu ?: na cevirirsek ?: deyiminin
daha kullanışlı ve kod olarak daha az yer kapladığını görebilir " if Örnek " ;
giris = true;
if (giris == true ) {
gotoAndPlay ("oynat");
} else {
gotoAndPlay ("durdur");
}
" ?: " Örnek :
giris = true;
git = giris ? "oynat" : "durdur";
gotoAndPlay(git);
--- Döngüler ( Loops ) ve Sonsuz Döngüler ---
Script akışı boyunca, bazı satırların belli bir şart gerçekleşinceye kadar çalışması gerekebilir. Örneğin; bir movie clip
sembolü duplicateMovieclip() fonksiyonu ile 10 kere kopyalamak gibi durumlarda, döngüleri kullanarak birden fazla
tekrarlanan işleri, bşr kaç satırlık kod ile halledebilir ve böylece uzun kod karmaşasından kurtulabiliriz.
ActionScript ' de her birinin birbirinden farklı işlevi olan while, do..while, for ve, for...in döngüleri bulunur. Bu
döngüleri ihtiyaca göre kullanarak, tekrarlanması gereken işleri, bşrkaç satırlık kod la kolayca halledebiliriz.
- while döngüsü -
while (koşul){
yapılacak işler;
}
şeklinde kullanılır. Koşul paremetresinde belirtilne ifade, true değerini döndürdüğü müddetçe, döngü tekrar başlayacak.
Örnek 1 =
i = 0;
while (i<10){
trace ("i değişken değeri 10 sayısından kucuk");
}
Yukardaki örnekte sonsuz bir döngü var çnki sayı asla 0 dan büyük olmuyor
Örnek 2 =
i = 0;
while (i<10){
trace ("i değişken değeri 10 sayısından kucuk");
i++;
}
Örnek 2 deki ne göre ekrana gelecek cıktı sayısı 9 tanedir çnki her seferinde 0 sayısına + 1 ekliyor..
Örnek 3 =
i = 0;
while (i<10){
getURL("
http://www.huysuz.net"
, "_blank")
i++;
}
Örnek 3 deki koda göre i değişkeni 10 değerini alana kadar 10 tane
www.huysuz.net adresi açılacaktır.
( Bi ara andaca yapacagın ipneliğin daha kolay yolu sen eşeklik ettin her frameye yazdın )
Örnek 4 =
i = 0;
while (i<10){
getURL("
http://www.huysuz.net"
, "_blank")
}
Yukardaki kodlamaya göre düşünürsen sürekli
www.huysuz.net adresi açılacak buda sonsuz döngüye girer.
Yanlış yada eksik tanımlanan bir kod sonsuz döngülere neden olabilir.
- do..while -
while döngüsünde, önce koşul kontrolü yapılıyor ve eğer koşul true değerini döndürürse döngü içindeki deyimler
çalıştırılarak, döngüde şart kontrolü için döngü tekrar başlatılıtordu.
do..while döngüsünde ise önce döngü içindeki deyimler çalıştırılmakta ve daha sonra loşul kontrol edilmektedir. Buna
göre, koşulun ilk döngüde true değerini döndürmesi durumunda bile, do..while döngüsü. gloğundaki satırlar en az
bir kere çalıştırılmış olacakdır. ( koşul doğru oldugu müddetce yapılan iş devam ediyor, taki koşul false olana kadar)
do {
yapılacak işler;
} while (koşul);
i = 0;
do {
trace (" i değişken değeri 0 sayısından küçük");
i++;
} while (i<0)
Örnekte ilk satırda 0 değerine sahip i değişkenini tanımlıyoruz. Sonraki satırda ise do..while döngüsünü kullanarak döngünün
devamı için i < 0 ( yukardakini calıstırdıgımızda output penceresınden trace cıktısını alacağız halbuki döngünün
çalışması icin ortada hic bir şart yok.
Örnek 2 =
i = 0;
do {
trace ("i değişkeninin değeri 5 den küçük");
i++
} while (i<5)
örnek 2 de bu sefer 5 tane yazı cıktısı alacaksınız. tıpkı while döngüsündeki gibi
Sonsuz bir döngüyü önlemek için while döngüsünde olduğu gibi, do..while döngüsünde de koşulu yerine getirecek yapının
döngü içinde olması gerekmektedir.
- for -
for döngüsü tıpkı while döngüsü gibidir ve çalışma mantığıda aynıdır. Belirtilen koşulun true değerini döndürmesiyle
döngü içindeki deyimler çalışacak ve döngü, koşul kontrolü için tekrar başlayacaktır.
for (değişken; koşul; sayaç){
yapılacak işler;
}
Örnek 2 =
for (i=1; i<10; i++){
trace ("i değişkeni 10 sayısından küçük ( +1 eklendi ) " );
}
- for...in -
Aslında, for...in döngüsünü anlamak için nesne kavramnını bilmeniz gerekmekte. for...in döngüsü, bir nesne içindeki tüm
özellikleri ayırmak ve nesne içindeki özellikler son bulana kadar döngü bloğu içindeki satırları çalıştırmak için kullanılır.
for ( değişken in nesne ) {
yapılacak işler;
}
for...in döngüsünün sözdizimi yukardaki gibidir. Bir for...in döngüsünde, nesne alanında belirtilen nesne içindeki tüm
özellikler döngünün devamını sağlar. Buna göre bir nesne eğer 5 özellik taşıyorsa for...in döngüsü de beş kez tekrarlanacak
ve her döngüde nesnenin o anki özelliği değişken değeri ne atanacaktır. Bu sayede değişken alanında belirtilen değişken
adı ile nesnenin o anda taşıdığı özelliğin değerine döngü içinde ulaşabilirsiniz.
//yeni bir nesne tanımlanıyor
program = new Object ();
//nesnenin özellikleri tanımlanıyor
program.Uretici = "Macromedia";
program.Ad = "Flash";
program.Versiyon = "Mx 2004";
//for...in döngüsü kuruluyor
for ( ozellik in program ) {
trace (ozellik + "özelliğin değeri" + program[ozellik] );
}
Alınan çıktı aşağıda ;
Versiyonözelliğin değeriMx 2004
Adözelliğin değeriFlash
Ureticiözelliğin değeriMacromedia
( Tam anlamadım )); )
--- Dögüleri kontrol Edin: continue ve break ---
- break -
break deyimi, döngünün sonlandırılmasını ve script içinde döngü bitiminden hemen sınraki satıra geçilmesini sağlar.
break;
şeklinde kullanılır ve hiç bir parametresi yoktur. break deyimini gören döngü kendini sonlandırır. break deyimi döngü
içinde genellikle if deyimi ile aşağıdaki gibi kullanılır.
i = 1;
while (i<10) {
if ( i == 5 ){
break;
}
trace (" döngü devam ediyor. i=" +i);
i++;
}
Yukardaki döngüye göre i değişkeninin değerinin 10 olmasıyla döngünün sona ermesi gerek. Fakat burada bşr istisna var
Eğer, i değişkeninin değeri 5'e eşitse true değerine dönecek ve böylece if deyimi bloğuna ait olan break deyimini
çalıştıracaktır. Böylece döngü şartı olan i değişkeni 10'a edit olmadığı halde break deyimi ile döngü sonlanacaktır.
Yukardaki kodu çalıştırdığımızda trace fonksiyonu ike output panelinden dört kez çıktı alırız. Çıktı aşağıda
döngü devam ediyor. i=1
döngü devam ediyor. i=2
döngü devam ediyor. i=3
döngü devam ediyor. i=4
döngü içinde istediğimiz bir şartın gerçekleşmesi durumunda break deyimini kullanarak, döngüyü sonlandırabiliriz.
- continue -
continue deyimi istisnai durumlarda döngü içindeki satırları çalıştırmayı durdurarak, döngü koşulunu tekrar kontrol
etmek üzere döngünün tekrar başlatılmasını sağlar. Aşşağıdaki gibi kullanılır ve hiçbir parametresi yoktur.
continue;
Döngü bloğu içinde. continue deyiminin kullanıldığı satırdan sonra bulunan satırlar çalıştırılmayacaktır.
continue deyimi, her döngü için farklı eylemler uygular.
while döngüsüyle kullanımında, koşulun kontrolü için döngü başına döner.
do...while döngüsüyle kullanımında, koşulun kontrolü icin döngü sona gider.
for döngüsüyle kullanımında, döngü başa döner ve döngü sayacı güncelleştirilerek, koşul kontrol edilir.
for...in döngüsüle kullanımında, belirtilen nesnenin varsa bir sonraki özelliğinden devam etmek üzere döngü başa döner.
for ( i = 1; i<5; i++){
if ( i ==2){
continue;
}
trace (i);
}
Çıktısı aşağıda
1
3
4
Normalde 1,2,3,4,5 cıktısının alınması gerekmektedir. Fakat burada istisnai bir durum söz konusudur. if deyimi ile
tanımlanmış Bu da i değişkeninin 2 sayısına eşit olduğu andır. i değişkeninin değeri 2 sayısına eşit olduğunda continue
deyimi devreye girerek trace fonksiyonunun çalışması öncelenecek ve sayacı bir arttırarak koşulu kontrol etmek üzere
döngü başına dönecektir. Bu durumda output panelinden alınacak cıktı 1,3,4 olacaktır. Görüldüğü gibi, 2 sayısı
Output panelinden alınan çıktıda yer almıyor. Çünki; continue deyimi, döngü içinde kendinden sonra gelen satırların
çalışmasını önlemektedir.
i= 1
while (i<5){
if ( i==2){
continue;
}
trace (i);
i++;
}
Yukardaki örnekte ise tıpkı for döngüsü örneğinde olduğu gibi i değişkeninin değeri 5 sayısından küçük olduğu müddetçe while
döngüsü devam edecektir. i değişkeninin değeri 2'ye eşit olduğunda continue deyimi devreye girecek ve kendinden sonra gelen
satırların çalışmasını önleyecektir. Bu durumda ++ öperatörüyle değeri bir arttırılmayan i değişkeninin değeri hep 2 kalacaktır
Bu nedenle i değişkeninin değeri hiç bir zaman 5 sayısından büyük olmayacağı için döngü sonsuz bir döngü olacaktır.
Not = Bu nedenle continue deyimini kullanığımız satıra dikkat etmemiz gerekir.
Form Mail Uygulaması
Flasda Bir form mail yapabilirsiniz. Bu sayede ziyaretçi form maili kullanarak sizin email adresinize mesaj gönderebilir.
---------------------------------------------------------------------- ---------------------------
Uygulama:
1-Sahnemize ziyaretçinin ismini yazacağı bir input text oluşturalım. Değişkenine "isim" yazalım
2-Sahnemize ziyaretçinin e-mailini yazacağı bir input text oluşturalım. Değişkenine "e-mail" yazalım
3-Sahnemize ziyaretçinin düşüncelerini yazacağı bir input text oluşturalım. Değişkenine "dusunce" yazalım
4-Sahnemize bir Gönder butonu oluşturalım. Butonu seçip action paneline aşağıdaki kodları ekleyelim.
on (release) {
loadVariables("MailGonder.asp",this,"POST");
}
5-Sahnedeki tüm nesneleri seçip form adında bir movie clip'e dönüştürelim.
6-Şimdi sıra geldi asp dosyasını oluşturmaya bunun için sisteminizde bulunan Not Defteri adındaki basit metin belgesini açın ve aşağıdaki kodları ekleyin.
<%
Set objMail = Server.CreateObject("CDONTS.NewMail")
'Mailin gönderilece?i yani sizin adresiniz.
objMail.To = "mail adresiniz."
'Flash Formdan gelen gönderenin Mail Adresi
objMail.From = Request.Form("e-mail")
'Mail in konusu
objMail.Subject = "Flash E-Mail Formdan gönderildi"
'Flash Formdan gelen Mesaj
objMail.Body = Request.Form("dusunce")
'Mail Gönderiliyor.
objMail.Send
%>
7-Mail adresinizi " mail adresiniz " kısmına yazınız.
8-Bu metin belgesini farklı kaydet seçeneğinden " MailGonder.asp " adını vererek fla ve swf dosyasının yanına kaydedin.
9-Servere gönderirkende html, swf ve asp dosyalarının aynı ortamda olmasına dikkat ediniz.
---------------------------------------------------------------------- ----------
Tavsiye Uygulaması
Flashda bir tavsiye sistemi yapabilirsiniz. Bu sayede flashla yapılmış sitelerinizide tavsiye yöntemi ile tanıtabilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahnemizde tavsiyeEt adında yeni bir movie clip (Ctrl+F oluşturalım.
2-Movie clipimizin ilk frameine bir inpu text oluşturalım ve değişkenine "gonderen" yazalım.
3-Movie clipimizin ilk frameine bir inpu text oluşturalım ve değişkenine "alici" yazalım.
4-Yine movie clipimizin ilk framesine tavsiye et butonu hazırlayalım. Bu butonu seçerek action panaleline aşağıdaki kodları ekleyelim.
on (release) {
loadVariables ("tavsiyeEt.asp", this, "POST");
play ();
}
5-Movie clipimizin ilk framesini seçip action panaline aşağıdaki kodları ekleyelim.
yuklendi = "";
delete hata;
stop ();
6-Movie clipimizin ikinci frame olışturup bu framenin actions paneline aşağıdaki kodları ekleyelim.
if (yuklendi == "ok") {
if (hata == 1) {
gotoAndStop (4);
} else {
gotoAndStop (5);
}
} else {
play ();
}
7-Movie clipimizin ikinci framesinde iken sahneye" lütfen bekleyin" yazalım.
8-Movie clipimizin üçüncü framesinde iken sahneye" lütfen bekleyin" yazalım ve actions paneline aşağıdaki kodu yazalım.
prevFrame ();
9-Movie clipimizin dördüncü framesinde sahneye" hata oluştu tekrar deneyin" yazalım ve yanına tekrar butonu oluşturup butonun action panelie aşağıdaki kodları ekleyelim.
on (release) {
gotoAndStop (1);
}
10-Son olarak beşici frame'e "tavsiye etiğiniz için teşekkür ederiz" yazalım ve yanına geri butonu oluşturalım. butonun actions paneline aşağıdaki kodları ekleyelim.
on (release) {
gotoAndStop (1);
}
11-Şimdi sıra geldi asp dosyasını oluşturmaya bunun için sisteminizde bulunan Not Defteri adındaki basit metin belgesini açın ve aşağıdaki kodları ekleyin.
<%
Mesaj = "Buraya gönderilecek e-mail' in içeri?ini"
Mesaj = Mesaj & "yani sitenizle ilgili bilgi yazyn."
On Error Resume Next
set objMail = Server.CreateObject("CDONTS.NewMail")
objMail.to = Request.Form("alici")
objMail.From = Request.Form("gonderen")
objMail.Subject = "Arkada?ynyz tavsiye ediyor"
objMail.Body = Mesaj
objMail.Send
if Err>0 then
Response.Write "hata=1"&"&"
Response.Write "yuklendi=ok"
else
Response.Write "hata=0"&"&"
Response.Write "yuklendi=ok"
end if
%>
12- Mesaj ile başlayan satırlardaki " " işaretleri arasında kalan kısımaları kendi sitenize göre düzeltiniz. düzeltiniz.
13-Bu metin belgesini farklı kaydet seçeneğinden " tavsiyeEt.asp " adını vererek fla ve swf dosyasının yanına kaydedin.
14-Servere gönderirkende html,swf ve asp dosaylarının aynı ortamda olmasına dikkat ediniz.
---------------------------------------------------------------------- ----------
Mouse Koordinat Alma
Flashda mouse kordinatı alabilirisiniz. Bu uygulamayı sitenizde kullanabilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahneye dikey ve yatay iki çizgi çiziniz.
2-Dikey çizgiyi seçip F8 ' e basınız. Convert to Symbol Panelini açınız. Adını "dikeyBar" yazıp movie clip olarak kaydediniz.
3-Yatay çizgiyi seçip F8 ' e basınız. Convert to Symbol Panelini açınız. Adını "yatayBar" yazıp movie clip olarak kaydediniz.
4-Sahnemizde Ctrl+F8 ' e basıp koordinat adında yeni bir movie clip oluşturalım.
5-Bu movie clipimizin ilk iki frameine iki tane dinamik text oluşturalım.
6-Şimdide Movie clipimizde Action adında yeni bir layer oluşturalım.
7-Action layerimizin ilk frameine aşağıdaki kodları ekleyelim.
x_Koordinat = _root._xmouse;
y_Koordinat = _root._ymouse;
setProperty ("_root.dikeyBar", _x, x_koordinat);
setProperty ("_root.yatayBar", _y, y_Koordinat);
8-Action layerimizin ikinci frameine aşağıdaki kodu ekleyelim.
gotoAndPlay (1);
9-Koordinat isimli movie clipimizi F11 ' e basıp kütüphanemizden sahnemize taşıyalım.
10-Ctrl+Enter' e basıp filmimizi test edebiliriz.
---------------------------------------------------------------------- ----------
Özelleştirilmiş Cursor
Flash Movie'miz de klasik cursor kullanmak yerine kendi istediğiniz bir şekle sahip cusor kullanabilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Öncelikle kendi tercihimize göre bir cursor yani mouse ucu çiziniz.
2-Çizdiğiniz cursoru seçip Insert>Convert to Symbol (F ile Symbol Properties' i açınız. Symbol Properties panelinden Symbol 'ün adını cursor yazarak Movie Clip'i seçip Ok ' a basınız.
3-Sahnenizde bulunan cursor Symbol' ü seçip Acitonscript paneline aşağıdaki kodları ekleyeniz.
onClipEvent (load) {
Mouse.hide();
startDrag("", true);
}
Cursor'u çalışmasını test edebilirsiniz; Control>Test Movie (Ctrl+Enter)
---------------------------------------------------------------------- ----------
Basit Preloading Uygulaması
Sık sık ziyaret ettiğiniz Flash web sayfalarında "Sayfa Yükleniyor Lütfen Bekleyiniz " gibi uyarı yazıları ile karşılaşırız. Eğer Flash'da yaptığımız bir işi İnternette yayınlamak istiyorsak önce bir preloading yani ön yükleme uygulamasını iyi bilmemiz gerekiyor. Alttaki örneğe bir gözatın ilk önce sayfa yüzde olarak gösterilerek yükleniyor.
---------------------------------------------------------------------- ---------------------------
Uygulama:
1-"Preload" ve "Flash Movie" adında iki tane sahne oluşturunuz.
2-Preload sahnesinde Ctrl+F8 'e basıp " Load Movie " adında boş bir movie clip oluşturunuz.
3-Load Movie adındaki film klibimizin ilk iki frame ' ine "Yükleniyor Lütfen Bekleyiniz" ve " 100% " yazalım. " 100% " yazısını seçip properties panelinden dynamic text'e dönüştürelim ve değişkenini " yuklemeBilgisi " diye girelim. Sonra Layer 1'e sağ tıklayıp İnsert layer ile ikinci bir Layer oluşturalım. Layer 2 'ye çift tıklayıp ismini action diye değiştirelim.
4-Action Layer ' ının ilk framesine aşağıdaki kodları ekleyelim.
boyut = _root.getBytesTotal();
yuklenen = _root.getBytesLoaded();
if (yuklenen == boyut) {
_root.gotoAndPlay(2);
} else {
yuklemeBilgisi = Math.floor((yuklenen/boyut)*100) + "%";
play ();
}
5-Action Layer ' ının ikinci framesine de aşağıdaki kodu ekleyelim.
gotoAndPlay (1);
6-Şimdi Scane panelinden Preload sahnesine geçelim.
7-F11 ' e basıp kütüphaneden Load Movie klibini tutup sahnenize yerleştiriniz.
8-Preload sahnemizde işimiz bitti. Flash Movie sahnemize geçip istediğimiz animasyonu yapabiliriz.
9-Hepsi bu kadar Ctrl+Enter ' e basıp Filminizi test edebilirsiniz.
---------------------------------------------------------------------- ----------
Ses Açma - Kapama Uygulaması
Flashda sesleri kontrol etmeyi iyi bilmelisiniz. Çünkü Web site tasarımı, Animasyon, Oyun gibi işlerde sesler yoğun halde kullanılır. Bu uygulamayla ses açama kapamayı öğreneceksiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-İlk önce 1.Frame'e sesi açmak için kullanacağımız bir play butonu çizelim
2-Play butonunu "Play" adını vererek buton sembolüne dönüştürelim.
3-Play butonunun Actions paneline aşağıdaki kodları ekleyelim.
on (release) {
gotoAndPlay(2);
}
4-İlk önce 2.Frame'e sesi açmak için kullanacağımız bir Stop butonu çizelim. 5-Stop butonunu "Stop" adını vererek buton sembolüne dönüştürelim.
6-Stop butonunun Actions paneline aşağıdaki kodları ekleyelim.
on (release) {
stopAllSounds();
}
on (release) {
gotoAndPlay(1);
}
7-Şimdi her iki frame'in action paneline aşağıdaki kodu ekleyin.
stop();
8-Son olarak İstedğiniz bir ses dosyasını 2. frame'e ekleyin.
9-Ses dosyasının bulunduğu 2. frame'e gelerek properties panelinden sesin "Loop" yada "Repeat" olarak ayarlayabilirsiniz.
10-Hepsi bu kadar şimdi test yapabilirsiniz. (Ctrl+Enter)
---------------------------------------------------------------------- ----------
Pop - Up Pencere Uygulaması
Flashda bir butona pop up pencere açtırabilirsiniz. Bu yöntem flashta site yaparken çok işinize yarayabilir.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahnemize bir buton çizelim.
2-Çizdiğimiz butonu seçip F8 ' den buton sembolüne çevirelim.
3-Buton sembolümüzü seçip aşağıdaki kodları action paneline ekleyelim.
on (release){
var url = " javascript:window.open('http://www.flashforumu.com','newwindow','heigh t=300,width=500,top =, left =,resizable=0,status=1,scrollbars=0,menubar =0,toolbar = 1,fullscreen=0');void(0)"
getURL(url)
}
4-Hepsi bu kadar. Ctrl+Enter ' e basıp test edebilirsiniz.
---------------------------------------------------------------------- ----------
Tam Ekran Uygulaması
Flashda bir butona tam ekran bir pencere açtırabilirsiniz. Bu yöntem flashta site yaparken çok işinize yarayabilir.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahnemize bir buton çizelim.
2-Çizdiğimiz butonu seçip F8 ' den buton sembolüne çevirelim.
3-Buton sembolümüzü seçip aşağıdaki kodları action paneline ekleyelim.
on (release){
var url = " javascript:window.open('http://www.flashforumu.com','newwindow','heigh t=,width=,top =, left =,resizable=0,status=0,scrollbars=0,menubar =0,toolbar = 0,fullscreen=1');void(0)"
getURL(url)
}
4-Hepsi bu kadar. Ctrl+Enter ' e basıp test edebilirsiniz.
---------------------------------------------------------------------- ----------
Dijital Saat Uygulaması
---------------------------------------------------------------------- ---------------------------
Uygulama:
1-Sahneye dinamik bir text ekleyin.
2-Dinamik text' in değişkenini "saat" olarak yazın.
3-Sahnedeki tüm nesneleri seçip F8' e basarak movie clip haline dönüştürün.
Movie Clip' i seçerek Action Script panelini açarak aşağıdaki kodları ekleyin.
onClipEvent (enterFrame) {
saat = new Date();
mevcut_saat = saat.getHours();
mevcut_dakika = saat.getMinutes();
mevcut_saniye = saat.getSeconds();
if (mevcut_saat<10) {
mevcut_saat = "0"+mevcut_saat;
}
if (mevcut_dakika<10) {
mevcut_dakika = "0"+mevcut_dakika;
}
if (mevcut_saniye<10) {
mevcut_saniye = "0"+mevcut_saniye;
}
saat = mevcut_saat+":"+mevcut_dakika+":"+mevcut_saniye;
}
Hepsi bu kadar şimdi filiminizi test edebilirsiniz.
---------------------------------------------------------------------- ----------
Dijital Tarih Uygulaması
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahneye dinamik bir text ekleyin.
2-Dinamik text' in değişkenini tarih olarak yazın.
3-Sahnedeki tüm nesneleri seçip F8' e basarak movie clip haline dönüştürün.
Movie Clip' i seçerek Action Script panelini açarak aşağıdaki kodları ekleyin.
onClipEvent (enterFrame) {
arrayAylar= ["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz" ,"Ağustos","Eylül","Ekim","Kasım","Aralık"];
arrayGunler = ["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma" ,"Cumartesi"];
tarih = new Date();
ayBilgisi = tarih.getMonth();
turkceAy = arrayAylar[ayBilgisi];
gunBilgisi = tarih.getDay();
turkceGun = arrayGunler[gunBilgisi];
yilBilgisi = tarih.getFullYear();
tarih = tarih.getDate() + " " +turkceAy + " " + yilBilgisi+ " " + turkceGun;
}
Hepsi bu kadar şimdi filiminizi test edebilirsiniz.
---------------------------------------------------------------------- ----------
Dinamik Text'e Txt Dosyasından Rasgele Veri Yükleme
Flashda Dynamic Text'e txt dosyasından Rasgele Veri Yükleyebiliriz. Bu yöntemle, Flashla yapılmış siteleriniz kendiliğinden güncelleyebilirsiniz. Örneğin bu yöntemle dinamik bir haber bölümü yapabilirsiniz. Aşağıdaki swf'yi incelediğinizde ve sayfayı her yenilediğinizde değişik bir bilgi edindiğinizi fark edeceksiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Text Tool ( T ) ile sahnemize bir text oluşturunuz. Ama flash bu texti static text olarak oluşturdu. Bu yüzden biz bu text'i seçip properties panelini açıp Dynamic Text'e dönüştürünüz ve değişkenini " veri " olarak giriniz.
2-Şimdi Sahnenize dönün ve 1. frameyi seçip Actionscript paneline şu kodları ekleyin.
dosyaSayisi = 5;
rasgeleSayi = Math.floor(Math.random()*dosyaSayisi)+1;
loadVariablesNum(rasgeleSayi + ".txt", 0);
Not: dosyaSayısı = 5; kısmındaki rakamı txt dosya sayısına göre verilmiştir. Ne kadar çok txt dosyası hazırlarsanız. Rakamı ona göre değiştirebilirsiniz.
3-Şimdi de bu fla dosyasını kaydettiğiniz dosyayın yanına " 1,2,3,4 ve 5 " ismindeki bir basit metin belgelerini kaydedin.
4-Metin belgelerini açıp hepsinin içine " veri= " yazın. Bukoddan sonra ne yazarsanız swf dosyasının içindeki dinamik texte yüklenecektir.
---------------------------------------------------------------------- ----------
Dinamik Text'e Txt Dosyasından Veri Yükleme
Flashda Dynamic Text'e txt dosyasından Veri Yükleyebiliriz. Bu yöntemle, Flashla yapılmış sitelerinizi zahmetsizce güncelleyebilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Text Tool ( T ) ile sahnemize bir text oluşturunuz. Ama flash bu texti static text olarak oluşturdu. Bu yüzden biz bu text'i seçip properties panelini açıp Dynamic Text'e dönüştürünüz ve değişkenini " veri " olarak giriniz.
2-Şimdi Sahnenize dönün ve 1. frameyi seçip Actionscript paneline şu kodları ekleyin.
loadVariablesNum ("veriler.txt", 0);
3-şimdi de bu flash dosyasını kaydettiğiniz dosyayın yanına " veriler " isminde bir basit metin belgesi oluşturunuz.
4-Veriler metin belgesini açıp " veri= " yazınız bu eşittir (=) işaretinden sonra ne yazarsanız swf dosyasındaki Dynamic Text' in içine yüklenecektir.
---------------------------------------------------------------------- ----------
FLASH'TA "sansür" KULLANILANLARA EKLEME BUTONU:
Flash'ta sık kullanılanlara ekle butonu yapmak son derece basittir. Önce bir buton çizin sonra çizdiğiniz nesneyi seçerek F8 ' e basın. Buradan buttonu işaretleyip ok ' a basın.
Buton seçili halde iken actions panelini açıp şu kodları verebilirsiniz.
on (release) {
getURL ("javascript:window.external.AddFavorite('http://http://www.macromedia turk.com/','MacromediaTURK')");
}
Kodları kendi sitenizin bilgilerine göre değiştirirdiğinizde butona basıldığında siteniz ziyaretçisi sitenizi sık kullanılanlarına eklenmiş olacaktır.
Unutmayın bu yalnız İnternet Explorer için geçerlidir.
İyi çalışmalar....
---------------------------------------------------------------------- ----------
FLASH'TA SESLERİ LİBRARYDEN ÇAĞIRMA:
Bu kısa dersimizde Flash ta libraryden ses çağırmasını öğreneceğiz.
Bunun için önce birinci frameye şu kodları verelim...
efect = function (ses) {
my_sound = new Sound();
my_sound.attachSound(ses);
my_sound.start(0, 1);
}
Sonrada libraryi (CTRL+L) açıp orada bulunan ses dosyasına sağ tıklayıp linkage seçeneğini seçtiğimizde çıkan panelden export for action script kutucuğunu işaretleyip aktf hale gelen en üstteki yazıyı istediğimiz gibi değiştirelim (türkçe karakter,boşluk veya rakamla başlamamalı) ör: ses1
butonada şöyle bir kod verebilirsiniz.
on(press){
_root.efect("ses1");
}
işte bu kadar şimdi test movie yaptığınızda ve butona bastığınızda libraryden sesin geldiğini duyacaksınız....
iyi çalışmalar..
---------------------------------------------------------------------- ----------
GotoAndPlay(); KODUNU KULLANIMI:
Bu kisa dersimizde gotoAndPlay(); kodunu kullanmayi ögrenecegiz.
Bunu için önce bir buton çizmeliyiz. Sonra butonu seçip F8 e basmaliyiz. Karsimiza çikan panelden buttonu isaretleyip ok'a baslamaliyiz. Sonra bir frame daha açmak için frameye tiklayip F6 ya basmaliyiz.
Simdi 1. framedeki butonu seçip actions panelini açip su kodlari vermeliyiz.
on (release) {
gotoAndPlay(2);
}
Simdi de 2. framedeki butonu seçip actions panelini açip su kodlari vermeliyiz.
on (release) {
gotoAndPlay(1);
}
Son olarakta sirayla 1. ve 2. frameyi seçip actions paneline su kodu vermeliyiz.
stop();
Not: 1. framenin sahnesine SU ANDA SAHNENIN 1.KARESINDESINIZ ve 2. framenin sahnesine SU ANDA SAHNENIN 2.KARESINDESINIZ diye yazarsaniz butonun çalistigini rahatlikla fark edebilirsiniz.
iyi çalismalar...
---------------------------------------------------------------------- ----------
WEB BUTONU:
Bu kisa dersimizde web butonu yapmayi ögrenecegiz.
Bunu için önce bir buton çizmeliyiz. Sonra butonu seçip F8 e basmaliyiz. Karsimiza çikan panelden buttonu isaretleyip ok'a baslamaliyiz.
sonra butonu seçip actions panelini açip su kodlari vermeliyiz.
on (release) {
getURL("http://www.macromediaturk.com");
}
" " isaretlerinin arasina istediginiz adresi yazabilirsiniz.
hepsi bu kadar test ettiginizde butona basinca yazdiginiz adresi açtigini göreceksiniz.
iyi çalismalar...
---------------------------------------------------------------------- ----------
GET URL
merhaba
1. frameye aşağıdaki kodu veriniz.
getURL("http://www.örneksite.com");
Bu kodu hangi frameye eklerseniz o frameye geldiğinde siteye kendiliğinden bağlanacaktır.
Farklı pencerede bağlanmasını istiyorsanız. Aşağıdaki kodu kullanınız.
getURL("http://wwww.örneksite.com", "_blank");
saygılarımla uyurcizer ;
---------------------------------------------------------------------- ----------
KLAVYE KONT
Sahneye bir tane ok çizin nesneyi seçerek F8 basın ordan Movie Clip olarak kaydedin.
Movie Clip'i seçerek Action Script panelini açarak aşağıdaki kodları ekleyin.
onClipEvent (load) {
hiz = 5;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)) {
_x -= hiz;
_rotation = 270;
}
if (Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT)) {
_x += hiz;
_rotation = 90;
}
if (Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) {
_y -= hiz;
_rotation = 0;
}
if (Key.isDown(Key.DOWN) && !Key.isDown(Key.UP)) {
_y += hiz;
_rotation = 180;
}
//
if (Key.isDown(Key.LEFT) && Key.isDown(Key.UP) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.DOWN)) {
_rotation = 315;
}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.UP) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.DOWN)) {
_rotation = 45;
}
if (Key.isDown(Key.LEFT
Hiç yorum yok :
Yorum Gönder