Mehmet Emin KAYA - Kişisel Web Sitesi Ana Sayfa | Hakkımda | Çalışmalarım | Kitap Önerileri | Fotoğraflarım | RSS RSS | İletişim
İçerik Kategorileri
Makale Kategorileri
Arama

Tema
Kaynaklar
Takip Ettiklerim

Flash Hava Durumu


Meteoroljinin RSS sayfalarına bağlanarak hava durumunu takip edebileceğiniz bir flash animasyonu.

 

Çalışır halde görmek için tıklayınız.

Kaynak Kodları İndirebilirsiniz!


import fl.events.ScrollEvent;
var xml_harita:XML;
var xmllist_harita:XMLList;
var xmllist2_harita:XMLList;
var xmlloader_harita:URLLoader=new URLLoader();
xmlloader_harita.addEventListener(Event.COMPLETE,yukle_harita);
xmlloader_harita.load(new URLRequest(”havadurumu.xml”));
//kendi hazırladığımız xml’e bağlanıyoruz.

var xml:XML;
var xmllist:XMLList;
var xmlloader:URLLoader=new URLLoader();
xmlloader.addEventListener(Event.COMPLETE,yukle);
//bu xml nesnelerini “Devlet Meteoroloji İşleri Genel Müdürlüğü” sitesine bağlanmak için kullanıcaz.

function yukle_harita(event:Event):void
{
xml_harita=XML(event.target.data);
//xml_harita içeriği oluşturuluyor.
//trace(xml_harita); komutu ile içeriğini görebilirsiniz.
//harita1 altbaşlığı içindeki içeriği görmek için trace(xml_harita.harita1);
//yine aynı şekilde harita2 alt başlığı görmek içinde trace(xml_harita.harita2);

xmllist_harita=xml_harita.harita1.children();
//xmllist_harita harita1′in içeriği ile dolduruluyor.

var gunler:Array = ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe","Cuma", "Cumartesi"];
//gunler dizisinin içeriği…
var zaman:Date=new Date();
//Tarih ve zaman işlemlerinde kullanacağımız nesneyi tanımlıyoruz.
for (var i:int=0; i<xmllist_harita.length(); i++)
{
//harita1 ‘in eleman sayısına xmllist_harita.length() ile bakabiliriz.
combo_3.addItem({label:gunler[(zaman.getDay()+i)%7], data:xmllist_harita[i].attribute(”link”)});
//combo_3 ‘e bugünün isminden başlayarak eleman sayısı kadar içerik ekleniyor.
//combo_3′teki label gün ismi data’sı ise havadurumu.xml içerisindeki harita1 içeriğindeki linklerle dolduruluyor.
}

xmllist_harita=xml_harita.harita2.children();
//xmllist_harita harita2′in içeriği ile dolduruluyor.
for (var j:int=0; j<xmllist_harita.length(); j++)
{
//harita2 ‘in eleman sayısına xmllist_harita.length() ile bakabiliriz.
combo_4.addItem({label:xmllist_harita[j].attribute(”isim”), data:xmllist_harita[j].attribute(”link”)});
//combo_4 ‘e bugünün isminden başlayarak eleman sayısı kadar içerik ekleniyor.
//combo_4′teki label gün ismi data’sı ise havadurumu.xml içerisindeki harita2 içeriğindeki linklerle dolduruluyor.
}

aSp.source = xmllist_harita[0].attribute(”link”);
//program ilk çalıştığında içerisi boş durmasın diye ilk harita yükleniyor.

xmllist2_harita=xml_harita.yorum.children();
//yorum kısmını gösteren xmllist nesnesi içeriği dolduruluyor.
xmlloader.load(new URLRequest(xmllist2_harita.attribute(”link”)));
//yorum kısmında belirtilen link’e göre diğer xmlloader load ediliyor.
}

//xmlloader load edildiğinde çalışan fonkisyon.
function yukle(event:Event):void
{
xml=XML(event.target.data);
//xml nesnesinin tüm içeriğini görmek için trace(xml); komutunu çalıştırabilirsiniz.
//bu içeriğe göre alt başlıklar çekilecektir.
xmllist=xml.Sabah.BolgeAdi0.children();
//Sabah-BolgeAdi0 alt başlığının içeriği xmllist nesnesine aktarılıyor.

bolge_();
//yukleme tamamlandıktan sonra bolge_(); fonksiyonu ile text1_txt’nin ve combo_2 içeriği güncelleniyor.

}

combo_1.addItem({label:”Marmara”, data:0});
combo_1.addItem({label:”Ege”, data:1});
combo_1.addItem({label:”Akdeniz”, data:0});
combo_1.addItem({label:”IcAnadolu”, data:0});
combo_1.addItem({label:”BatiKaradeniz”, data:0});
combo_1.addItem({label:”OrtaVeDoguKaradeniz”, data:0});
combo_1.addItem({label:”DoguAnadolu”, data:0});
combo_1.addItem({label:”GuneyDoguAnadolu”, data:0});
combo_1.addEventListener(Event.CHANGE,bolge);
//combo_1′in içeriğini tek tek ekliyoruz.

function bolge_():void
{
combo_2.removeAll();
//cobo_2 ‘nin içeriği sürekli değiştiği için bir önceki bilgiler siliniyor.
var ilk:int;
var k:int=0;
for (var j:int=0; j<40; j++)
{
var s2:String=xml.sehirler.Merkez[j];
var s3:String=xml.sehirler.Bolge[j];
if(s3==combo_1.selectedLabel)
{
combo_2.addItem({label:s2, data:j});
if(k==0){ilk=j;k++;}
}
}
if(xml.sehirler.Min[ilk]!=”")text1_txt.htmlText=”<p> “+xml.sehirler.Durum[ilk]+”</p>”+”<p></p><p><b>Maksimum Sıcaklık: “+xml.sehirler.Mak[ilk]+”</b></p>”+”<p><b>Minumum Sıcaklık: “+xml.sehirler.Min[ilk]+”</b></p>”+”<p><u>”+xml.Ogle.Tarih+xml.Sabah.Tarih+xml.Aksam.Tarih+”</u></p>”;
else text1_txt.htmlText=”<p> “+xml.sehirler.Durum[ilk]+”</p>”+”<p></p><p><b>Maksimum Sıcaklık: “+xml.sehirler.Mak[ilk]+”</b></p>”+”<p><u>”+xml.Ogle.Tarih+xml.Sabah.Tarih+xml.Aksam.Tarih+”</u></p>”;
//text1_txt’in içeriğine görsel zenginlik katmak amacıyla temel html komutları kullanılarak oluşturuyoruz.

}

//combo_1 elemanları seçildiğinde değişecek olan fonksiyon.
function bolge(event:Event):void
{
bolge_();
}

combo_2.addEventListener(Event.CHANGE,sehir);
//combo_2 elemanları seçildiğinde değişecek olan fonksiyon.
function sehir(event:Event):void
{
if(xml.sehirler.Min[combo_2.selectedItem.data]!=”")text1_txt.htmlText=”<p> “+xml.sehirler.Durum[combo_2.selectedItem.data]+”</p>”+”<p></p><p><b>Maksimum Sıcaklık: “+xml.sehirler.Mak[combo_2.selectedItem.data]+”</b></p>”+”<p><b>Minumum Sıcaklık: “+xml.sehirler.Min[combo_2.selectedItem.data]+”</b></p>”+”<p><u>”+xml.Ogle.Tarih+xml.Sabah.Tarih+xml.Aksam.Tarih+”</u></p>”;
else text1_txt.htmlText=”<p> “+xml.sehirler.Durum[combo_2.selectedItem.data]+”</p>”+”<p></p><p><b>Maksimum Sıcaklık: “+xml.sehirler.Mak[combo_2.selectedItem.data]+”</b></p>”+”<p><u>”+xml.Ogle.Tarih+xml.Sabah.Tarih+xml.Aksam.Tarih+”</u></p>”;
//combo_2′de seçilen elemanlara göre text1_txt’nin içeriğini dolduruyoruz.
}

aSp.addEventListener(Event.COMPLETE, yukleme_tamam);
//scrollPane’nin yüklemesi bittiğinde çalışacak olan fonksiyon belirtiliyor.

aSp.setSize(334, 200);
aSp.x=3;
aSp.y=-2;
//scrollPane nin boyutlarını ve konumunu belirtiyoruz.

var x1:int;
var y1:int;

var time1:Timer = new Timer(20, 0);
time1.addEventListener(TimerEvent.TIMER, zamanlar1);
//timer oluşturuluyor. 20 ‘nin anlamı her 20 milisaniyede çalışacak olması
//0′ın anlamı timer oluşturulduğu anda çalışmaya başlamayacak. Bizden start komutunu bekliyor.
//1 olsaydı direk çalışmaya başlardı.

//timer’ın fonkisyonu: timer’a start verilmesi ile her 20 milisaniyede bir çalışır.
function zamanlar1(event:Event):void
{
if ((x1<=45)&&(y1<=35))
{
time1.stop();//resim istenen konuma geldiğinde timer durduruluyor.
}
else
{
//resim istenen konumda değil ise yer değişittiriliyor.
if (x1>=45)
{
x1=aSp.horizontalScrollPosition;
x1=x1-4;
aSp.horizontalScrollPosition=x1;
}
if (y1>=35)
{
y1=aSp.verticalScrollPosition;
y1=y1-2;
aSp.verticalScrollPosition=y1;
}}}

function yukleme_tamam(event:Event):void
{
x1=474;
y1=178;
//scrollPane içindeki resmin başlangıç konumları
aSp.horizontalScrollPosition=x1;
aSp.verticalScrollPosition=y1;
//scrollPane içindeki resim konumlandırılıyor.
time1.start();
//scrollPane’nin içindeki resmi hareket ettirecek olan timer.
}

combo_3.addEventListener(Event.CHANGE,combo);
function combo(event:Event):void
{

aSp.source =combo_3.selectedItem.data;

if (combo_3.selectedIndex!=0)
{
//bulunduğumuz günün hava durumu ile birçok harita mevcutken diğer günler için bu böyle değil. “Devlet Meteoroloji İşleri Genel Müdürlüğü” nün sitesi bu şekilde.
//bu yüzden diğer günlerde combo_4′ün enabled’ini false ediyoruz.
combo_4.enabled=false;
}
else
{
combo_4.enabled=true;
combo_4.selectedIndex=0;
}
}

combo_4.addEventListener(Event.CHANGE,combo_);

function combo_(event:Event):void
{
//combo_4′ün data’larında yüklenecek olan link’lerin bilgileri mevcut
//combo_4 ‘te seçili eleman değiştiğinde fonksiyon çalışıyor ve scrollPane ‘e resim yükleniyor.
aSp.source =combo_4.selectedItem.data;
}

Flash Uygulamaları | Bu yazıya henüz yorum yapılmamış. | 13.05.2009 02:51:53

Flash Mp3 Player


Flash CS4 kullanılarak yapılmış harici mp3 dosyalarını çalıştıran bir player programıdır.

Çalışır halde görmek için tıklayınız.

Kaynak Kodları İndirebilirsiniz!

 


import flash.display.Sprite;
import flash.events.*;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;
//gerekli class’ları import ediyoruz

var sarki_listesi:Array=new Array(”mp3/1.mp3″,”mp3/2.mp3″);
//bu dizi sayesinde çalınacak olan şarkılar ve konumları belirtiyoruz

var sarki_caliyormu:Boolean=false;
//bu boolean değişkeni sayesinde o anda mp3 çalınıp çalınmadığını anlıyoruz.

var hangi_sarki:Number=0;
//hangi şarkının çalındığığını söyleyen değişken.

var ses:Sound;
//ses nesnesinin Sound class’ından olduğu belirtiliyor ancak daha ilişkilendirmedik.

var kanal:SoundChannel = new SoundChannel();
var ses_transform:SoundTransform = new SoundTransform();
//kanal ve ses_transform nesnelerini oluşturuyoruz.

//mp3 player’daki sırasıyla buton olarak kullanılan movieclip symbollere buton davranışı kazandırıyoruz
//ve ayrıca herbirinin click eylemine fonksiyon ilişkilendiriyoruz.
btnPrev.buttonMode=true;
btnPrev.addEventListener(MouseEvent.CLICK, geri_mp3);
function geri_mp3(event:MouseEvent):void
{
mp3_geri();
}

btnStop.buttonMode=true;
btnStop.addEventListener(MouseEvent.CLICK, stop_mp3);
function stop_mp3(event:MouseEvent):void
{
mp3_pause();
cubuk_ayar.x=cubuk_slider.x;
sarki_yukle(sarki_listesi[hangi_sarki]);
mp3_pause();
}

btnPause.buttonMode=true;
btnPause.addEventListener(MouseEvent.CLICK, pause_mp3);
function pause_mp3(event:MouseEvent):void
{
mp3_pause();
}

btnPlay.buttonMode=true;
btnPlay.addEventListener(MouseEvent.CLICK, play_mp3);
function play_mp3(event:MouseEvent):void
{
sarki_yukle(sarki_listesi[hangi_sarki]);
mp3_play(kanal.position);
}

btnNext.buttonMode=true;
btnNext.addEventListener(MouseEvent.CLICK, ileri_mp3);
function ileri_mp3(event:MouseEvent):void
{
mp3_ileri();
}

//id3_mp3 fonksiyonunu text’lere id3 bilgilerini girmek amacıyla kullanıyoruz.
function id3_mp3(event:Event):void
{
pb2.visible=false;
cubuk_ayar.visible=true;
sarki_bilgi1_txt.text=ses.id3.album;
sarki_bilgi2_txt.text=ses.id3.artist;
sarki_bilgi3_txt.text=ses.id3.songName;
sarki_bilgi4_txt.text=ses.id3.year;
sarki_bilgi5_txt.text=ses.id3.track;
sarki_bilgi6_txt.text=ses.id3.genre;
sarki_bilgi7_txt.text=ses.id3.comment;
}

//sarkı bittiğinde yapılacak olan işlemleri tanımlıyoruz.
function sarki_bitti(event:Event):void
{
mp3_pause();
mp3_ileri();
}

//ses nesnesi oluşturuluyor ve şarkı ismini tutan dizi ile load ediyoruz.
function sarki_yukle(sarki_adi:String):void
{
ses = new Sound();
ses.load(new URLRequest(sarki_adi));
//id3_mp3 fonksiyonunu oluşturmuştuk ancak hangi sarkıya ait olduğu belirtilmemiştik
ses.addEventListener(Event.ID3, id3_mp3);
mp3_play(0);//buradaki ‘0′ şarkı pozisyonunu gösterir.
}

function mp3_play(position:Number):void
{
if (! sarki_caliyormu)
{
sarki_caliyormu=true;
kanal=ses.play(position);//şarkıyı başlatıyoruz
ses_ayar.x=ses_transform.volume*ses_slider.width+ses_slider.x;
//ses_ayar symbolünün x konumu belirtiyoruz.
kanal.soundTransform=ses_transform;
kanal.addEventListener(Event.SOUND_COMPLETE,sarki_bitti);
//şarkı bittiğinde çalıştırılcak olan fonksiyonu belirtiyoruz.
cubuk_ayar.addEventListener(Event.ENTER_FRAME, cubuk_ayar_guncelle);
//cubuk_ayar symbolünün x konumunu güncelleyecek olan fonksiyonu belirtiyoruz.
}
}

function mp3_pause():void
{ //şarkı durdurulduğunda yapılacak olan işlemi belirtiyoruz.
cubuk_ayar.removeEventListener(Event.ENTER_FRAME, cubuk_ayar_guncelle);
kanal.stop();
sarki_caliyormu=false;
}

//şarkı değiştirirken geri butonuna basdığımızda bir önceki sarkının yuklenmesini sağlıyoruz.
function mp3_geri():void
{
if (hangi_sarki>0)
{
hangi_sarki–;
mp3_pause();
sarki_yukle(sarki_listesi[hangi_sarki]);
}
else
{
hangi_sarki=sarki_listesi.length-1;
mp3_pause();
sarki_yukle(sarki_listesi[hangi_sarki]);
}
}

//şarkı değiştirirken ileri butonuna basdığımızda bir sonraki sarkının yuklenmesini sağlıyoruz.
function mp3_ileri():void
{
if ((sarki_listesi.length-1)>hangi_sarki)
{
hangi_sarki++;
mp3_pause();
cubuk_ayar.visible=false;
pb2.visible=true;
sarki_yukle(sarki_listesi[hangi_sarki]);
}
else
{
hangi_sarki=0;
mp3_pause();
sarki_yukle(sarki_listesi[hangi_sarki]);
}
}

cubuk_ayar.visible=false;
cubuk_ayar.buttonMode=true;
cubuk_ayar.addEventListener(MouseEvent.MOUSE_DOWN, cubuk_surukle);

//şarkı konumunu gösteren cubuk_ayar symbolünün üzerine basdığımızda drag işleminin başlaması için
//fonksiyonu tanımlıyoruz.
function cubuk_surukle(event:MouseEvent):void
{
mp3_pause();
//cubuk_ayar symbolünün hareket sınırlarını belirtiyoruz.
cubuk_ayar.startDrag(true, new Rectangle(cubuk_slider.x,cubuk_slider.y + cubuk_slider.height/2,                         cubuk_slider.width, 0));
//mouse’a basmayı bıraktığımızda drag işlemini sonlandıracak fonksiyonu belirtiyoruz.
stage.addEventListener(MouseEvent.MOUSE_UP, cubuk_suruklemeyi_durdur);
}

function cubuk_suruklemeyi_durdur(event:MouseEvent):void
{
cubuk_ayar.stopDrag();//drag işlemi durduruluyor.
//sarkının devam edeceği pozisyonu belirtip tekrar çalıştırıyoruz.
mp3_play(ses.length * (cubuk_ayar.x - cubuk_slider.x) /cubuk_slider.width);
stage.removeEventListener(MouseEvent.MOUSE_UP, cubuk_suruklemeyi_durdur);
}

function cubuk_ayar_guncelle(event:Event):void
{
var pos:Number=cubuk_slider.width*kanal.position/ses.length;
if (! isNaN(pos))
{
//pos değişkeni anlamlı bir değer taşırsa çalışacak kısım
cubuk_ayar.x=cubuk_slider.x+pos;
}
else
{
//pos değişkeni anlamsızbir değer taşırsa çalışacak kısım.
cubuk_ayar.x=cubuk_slider.x;
}
}

//cubuk_ayar için yapılan işlemler ses_ayar içinde yapılıyor.
ses_ayar.buttonMode=true;
ses_ayar.addEventListener(MouseEvent.MOUSE_DOWN, ses_surukle);
function ses_surukle(event:MouseEvent):void
{
ses_ayar.startDrag(true, new Rectangle(ses_slider.x,ses_slider.y + ses_slider.height/2, ses_slider.width, 0));
ses_ayar.addEventListener(MouseEvent.MOUSE_MOVE, ses_guncelle);
stage.addEventListener(MouseEvent.MOUSE_UP, ses_suruklemeyi_durdur);
}

function ses_suruklemeyi_durdur(event:MouseEvent):void
{
ses_ayar.removeEventListener(MouseEvent.MOUSE_MOVE, ses_guncelle);
ses_ayar.stopDrag();
stage.removeEventListener(MouseEvent.MOUSE_UP, ses_suruklemeyi_durdur);
}

function ses_guncelle(event:MouseEvent):void
{

if (0.01>((ses_ayar.x - ses_slider.x) / ses_slider.width))
{
ses_transform.volume=0;
}
else
{
ses_transform.volume = (ses_ayar.x - ses_slider.x) / ses_slider.width;
}
kanal.soundTransform=ses_transform;
}

ses_transform.volume=1;

Flash Uygulamaları | Bu yazıya henüz yorum yapılmamış. | 13.05.2009 02:50:00

RSS Haber


Flash ile RSS akışlarını nasıl alabileceğinizi gösteren bir örnek flash animasyonudur. Bu program örnek alınarak daha kapsamlı uygulamalar oluşturulabilir.

RSS Haber okurken dikkat etmeniz gereken rss haberlerin utf-8 formatında yazılı olması gerektiğidir. RSS’nin bir xml dosyası olduğu unutulmaması gerekir. Haber başlıklarını ve alt başlıkları xml mantığı ile okuyabiliriz.

RSS xml dosyasının

<?xml version=”1.0″ encoding=”utf-8″?>

Şeklinde bir kod ile başlaması gerekir.

Programı çalışır halde görüntülemek için tıklayınız.

Kaynak Kodları İndirebilirsiniz!

import fl.controls.*;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

//gerekli class’lar import ediliyor.

var xml:XML;//xml nesnesi oluşturuluyor.
var xmllist:XMLList;//xmllist nesnesi oluşturuluyor.
var xmlloader:URLLoader=new URLLoader();//urlloader nesnesi oluşturuluyor.

var baslik_dgc:DataGridColumn = new DataGridColumn(”Baslik”);
//datagrid için bir başlık (baslik_dgc) oluşturuluyor. bunu excel’ deki a sütunu şeklinde düşünebilirsiniz.
baslik_dgc.headerText = “RSS HABERLER”;
//datagrid’de eklediğimiz sütunun başında yazması gerekn ifade belirtiliyor.
blog_dg.addColumn(baslik_dgc);
//baslik_dgc datagrid’e sütun olarak ekleniyor.

//yeni bir sütun daha eklemek isterseniz aşağıdaki komutları çalıştırın :)
//birde for döngüsünün içindede var :)

/*var tarih_dgc:DataGridColumn = new DataGridColumn(”Tarih”);
blog_dg.addColumn(tarih_dgc);
tarih_dgc.headerText=”TARİHLERİ”;*/

xmlloader.addEventListener(Event.COMPLETE,yukle);//xmlloader xml’i yükledikten sonra çalıştıracağı yukle fonksiyonunun olacağı belirtiliyor.
function yukle(event:Event):void//yukle fonksiyonu - geriye herhangibir değişken döndürmüyor (void)
{
xml=XML(event.target.data);

//xml nesnesine load edilen tüm xml verileri yükleniyor.
//trace(xml); bu komut ile deneyip görebilirsiniz.
//xml yüklendiğinde gördüğünüz başlıkları yorumlarsanız bu başlıkların sırasıyla
//channel - item - title şeklinde gittiği görülecektir.
//konu açıklamaları ise channel - item - description şeklinde gittiği görülecektir.

xmllist=xml.channel.item.title.children();
//tüm başlıklar xmllist nesnesinde toplanıyor. xmllist nesnesini bir string dizi gibi düşünebilirsiniz
//yani birinci başlığı görmek için trace(xmllist[0]); komutunu çalıştırabilirsiniz.
//tüm başlıkları görmek içinde     trace(xmllist); komutunu çalıştırabilirsiniz.
//başlık sayısını bize veren komut xmllist.length(); dir. Bu metod geriye integer döndürür.

for (var i:int=0; i<xmllist.length(); i++)
{

//tüm başlıklar sırasıyla s1 değişkeni aracılığıyla datagrid’e yükleniyor.
var s1:String=xml.channel.item.title[i];
blog_dg.addItem({Baslik:s1});//addItem ile Baslik başlığına yeni veriler ekleniyor.

//yeni eklenen başlığın içi dolması için üsteki komutu silerek aşağıdakini çalıştırın.
/*var s1:String=xml.channel.item.title[i];
var s2:String=xml.channel.item.pubDate[i];
blog_dg.addItem({Baslik:s1, Tarih:s2});*/

}

text1_txt.htmlText=”<p><a>”+”   “+xml.channel.item.description[0]+”<a href=’”+xml.channel.item.link[0]+”‘>…         <font><font size=’11′><font color=’#0000ff’><p></p>devamı için tıklayınız</font></font></a></p>”+”<p><font><font size=’9′><font color=’#ff0000′>”+”      “+xml.channel.item.pubDate[0]+”</font></font></p>”;
//yükleme tamamlandıktan sonra textarea boş kalmasın diye ilk veri htmlText formatında ekleniyor.
//htmlText şeklinde yüklerken basit html komutlarını kullanabiliyoruz.
//örneğin altı çizili, italik, kalın, yazı tipi, yazı rengi, yazı boyutu gibi metin ifadeleri gibi
//link ekleme, resim ekleme, flash dosyası ekleme komutlarınıda destekliyor.

}

blog_dg.addEventListener(Event.CHANGE, dgChangeListener);
//datagrid içerisindeki başlıklar tıklnadığında seçili ifade değişir bu durumda belirtilen metod çalışır.
function dgChangeListener(event:Event):void
{
text1_txt.htmlText=”<p><a>”+”   “+xml.channel.item.description[blog_dg.selectedIndex]+”<a href=’”+xml.channel.item.link[blog_dg.selectedIndex]+”‘>…         <font><font size=’11′><font color=’#0000ff’><p></p>devamı için tıklayınız</font></font></a></p>”+”<p><font><font size=’9′><font color=’#ff0000′>”+”      “+xml.channel.item.pubDate[blog_dg.selectedIndex]+”</font></font></p>”;

//seçilen başlığın belittiği index sayısına göre textarea ‘ya gerekli bilgiler html formatında yüklenir.
}

xmlloader.load(new URLRequest(”http://rss.hurriyet.com.tr/rss.aspx?sectionId=1″));
//program ilk çalıştırıldığında datagrid’in boş durmaması için bir rss xml dosyası yükleniyor.

//sırasıyla içerinde gazete isimleri yazan movieclip symbolleri buton gibi davranmaları sağlanıyor.
//ayrıca click olayı ve bu click olayı sonunda çalışacak olan fonksiyonlar belirtiliyor.
//blog_dg.removeAll(); komutu ilede yeni yüklenen rss xml’i ile bir öncekinin verileri birbirne karışmasın
//diye içi boşaltılıyor.

hurriyet_btn.buttonMode=true;
hurriyet_btn.addEventListener(MouseEvent.CLICK,yukle1);
function yukle1(evenr:Event):void
{
blog_dg.removeAll();
xmlloader.load(new URLRequest(”http://rss.hurriyet.com.tr/rss.aspx?sectionId=1″));
}

ntvmsnbc_btn.buttonMode=true;
ntvmsnbc_btn.addEventListener(MouseEvent.CLICK,yukle2);
function yukle2(event:Event):void
{
blog_dg.removeAll();
xmlloader.load(new URLRequest(”http://www.stargazete.com/rss.xml”));
}

turkiye_btn.addEventListener(MouseEvent.CLICK,yukle3);
function yukle3(event:Event):void
{
blog_dg.removeAll();
xmlloader.load(new URLRequest(”http://www.tgrthaber.com.tr/Rss/FirstPage.asp”));
}

//Hazırlayan
//Emre TAKIL (Bilişim Teknolojileri Öğretmeni)

Flash Uygulamaları | Bu yazıya henüz yorum yapılmamış. | 13.05.2009 02:48:31

ColorPicker 2


Sadece bizim istediğimiz renkleri seçmemizi sağlayan ve metin kutusu rengini bu şekilde değiştirmemizi sağlan flash programı.

Kaynak kodları indirmek için tıklayınız.

import flash.display.*;
import fl.controls.ColorPicker;
import fl.controls.TextArea;
import fl.events.ColorPickerEvent;
//gerekli class’lar import ediyoruz.

var palet:ColorPicker = new ColorPicker();
//palet isminde colorpicker nesnesi oluşturduk.

var yazi_kutusu:TextArea = new TextArea();
//yazi_kutusu isminde TextArea nesnesi oluşturduk.

var yazi_formati:TextFormat = new TextFormat();
//yazi_formati isminde TextFormat nesnesi oluşturduk.

palet.move(10, 10);
//palet nesnesini sol üst köşeyi başlangıç noktası alarak 10,10 piksel kaydırdık.

palet.colors=[0xff0000,0x00ff00,0x0000ff];
//palet içerisinde sadece bizim seçtiğimiz renkler çıkması için renk tanımladık.

palet.addEventListener(ColorPickerEvent.CHANGE, renkdegis);
//palet nesnesi ile renk seçtiğimizde çalışak olan fonksiyonu belirledik.

yazi_kutusu.text=”Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus quis nisl vel tortor nonummy vulputate. Quisque sit amet eros sed purus euismod tempor. Morbi tempor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Curabitur diam. Suspendisse at purus in ipsum volutpat viverra. Nulla pellentesque libero id libero.”;
//varsayılan metin olan “Lorem ipsum…..” metnini yazdırdık.

yazi_kutusu.setSize(200, 200);
//boyutları değiştiriyoruz.

yazi_kutusu.move(115,10);
//yazi_kutusu yerini ayarlıyoruz.

addChild(palet);
addChild(yazi_kutusu);

//palet ve yazi_kutusu sahneye ekleniyor.

function renkdegis(event:ColorPickerEvent):void {
//yazi_kutusu rengini değiştirdik.
if (TextFormat(yazi_kutusu.getStyle(”textFormat”))) {
yazi_formati=TextFormat(yazi_kutusu.getStyle(”textFormat”));
}
yazi_formati.color=event.target.selectedColor;
yazi_kutusu.setStyle(”textFormat”, yazi_formati);
}

Flash Uygulamaları | Bu yazıya henüz yorum yapılmamış. | 13.05.2009 02:47:05

ComboBox


ComboBox componentinin kullanım örneği.

Kaynak dosyayı indirmek için tıklayınız.


import flash.display.*;
import fl.controls.ComboBox;
import fl.data.DataProvider;
import flash.net.navigateToURL;
//gerekli class’ları import ediyoruz.

var linkler:Array = new Array(
{label:”Milli Eğitim Bakanlığı”,
data:”http://www.meb.gov.tr”},
{label:”Eskişehir Milli Eğitim Müdürlüğü”,

data:”http://eskisehir.meb.gov.tr”},
{label:”Türk Telekom Anadolu Teknik Lisesi”,
data:”http://www.telekomatl26.com”}
);

//comboBox için iki boyutlu bir dizi oluşturuyoruz.

var combo:ComboBox = new ComboBox();//combo isminde ComboBox nesnesi oluşturduk.
combo.dropdownWidth=200;
combo.width=180;
combo.move(30, 10);
//comboBox’ın açıldığındaki genişliği, normal genişliği, konumunu ayarlıyoruz.

combo.dataProvider=new DataProvider(linkler);
//combo nesnesine linkler dizisini aktarıyoruz.

combo.addEventListener(Event.CHANGE, ac);
//combo nesnesindeki seçili elemanlar değiştiğindeki çalışacak olan fonksiyonu tanımlıyoruz.

addChild(combo);
//combo nesnesini ekrana yüklüyoruz.

function ac(event:Event):void
{
var request:URLRequest = new URLRequest();
request.url=ComboBox(event.target).selectedItem.data;

//combo nesnesinin seçili data içeriğini link olarak belirliyoruz.

navigateToURL(request,”_self”);
//istene sayfayı açıyoruz.

combo.selectedIndex=-1;
}

Flash Uygulamaları | Bu yazıya henüz yorum yapılmamış. | 13.05.2009 02:45:16

Ana Sayfa | Hakkımda | Çalışmalarım | Kitap Önerileri | Fotoğraflarım | RSS | İletişim
Mehmet Emin KAYA