Flash’la Hava Durumu

Burda güncel hava durumu bilgilerini XML aracılığıyla Devlet Meteoroloji İşleri Genel Müdürlüğü’nden çeken bir Flash uygulaması yaptım.



XML dosyasında hava durumu resimlerinin nerden çekileceği gibi bilgileri saklıyorum. Böylelikle ileride bir değişiklik olduğunda Flash dosyasını güncellemektense XML dosyasını güncellemem yeterli olacaktır.

xml dosyasını görüntülemek için tıklayınız.

<?xml version=”1.0″ encoding=”UTF-8″?>
<haberler>
<harita1>
<veri  isim=”Bugün”     link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritasondurumSH.gif”></veri>
<veri  isim=”gun1″     link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritatahmingun1.gif”></veri>
<veri  isim=”gun2″     link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritatahmingun2.gif”></veri>
<veri  isim=”gun3″     link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritatahmingun3.gif”></veri>
<veri  isim=”gun4″     link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritatahmingun4.gif”></veri>
<veri  isim=”gun5″     link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritatahmingun5.gif”></veri>
</harita1>
<harita2>
<veri  isim=”Son Durum” link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritasondurumSH.gif”></veri>
<veri  isim=”Hadise”     link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritasondurumH.gif”></veri>
<veri  isim=”Sıcaklık”     link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritasondurumS.gif”></veri>
<veri  isim=”Rüzgar”     link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritasondurumR.gif”></veri>
<veri  isim=”Basınç”     link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritasondurumB.gif”></veri>
<veri  isim=”Nem”     link=”http://www.dmi.gov.tr/FTPDATA/analiz/harita/haritasondurumN.gif”></veri>
</harita2>
</haberler>

Flash CS4 dosyasında yazılı olan kaynak kodlar:

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(“http://www.dahiweb.com/emretakil/hava_durumu_onsayfa/hava_durumu.xml”));

function yukle_harita(event:Event):void
{
xml_harita=XML(event.target.data);
xmllist_harita=xml_harita.harita1.children();

var gunler:Array=[“Pazar”,”Pazartesi”,”Salı”,”Çarşamba”,”Perşembe”,”Cuma”,”Cumartesi”];
var zaman:Date=new Date();
for (var i:int=0; i<xmllist_harita.length(); i++)
{
combo_3.addItem({label:gunler[(zaman.getDay()+i)%7], data:xmllist_harita[i].attribute(“link”)});
}

xmllist_harita=xml_harita.harita2.children();
for (var j:int=0; j<xmllist_harita.length(); j++)
{
combo_4.addItem({label:xmllist_harita[j].attribute(“isim”), data:xmllist_harita[j].attribute(“link”)});
}
aSp.source=xmllist_harita[0].attribute(“link”);
}

aSp.addEventListener(Event.COMPLETE, yukleme_tamam);
function yukleme_tamam(event:Event):void
{

aSp.horizontalScrollPosition=45;
aSp.verticalScrollPosition=0;
//time1.start();
bar.visible=false;
aSp.update();

//trace(aSp);
}

aSp.addEventListener(ProgressEvent.PROGRESS, yukleniyor);
function yukleniyor(event:ProgressEvent):void
{
bar.visible=true;
}

aSp.setSize(270, 240);
aSp.x=3;
aSp.y=-2;

var x1:int;
var y1:int;

var time1:Timer=new Timer(20,0);
time1.addEventListener(TimerEvent.TIMER, zamanlar1);

function zamanlar1(event:Event):void
{
if ((x1<=45)&&(y1<=35))
{
time1.stop();
}
else
{
if (x1>=45)
{
x1=aSp.horizontalScrollPosition;
x1=x1-4;
aSp.horizontalScrollPosition=x1;
}
if (y1>=0)
{
y1=aSp.verticalScrollPosition;
y1=y1-2;
aSp.verticalScrollPosition=y1;
}
}
}

combo_3.addEventListener(Event.CHANGE,combo);
function combo(event:Event):void
{
bar.visible=true;
aSp.source=combo_3.selectedItem.data;

if (combo_3.selectedIndex!=0)
{
combo_4.enabled=false;
}
else
{
combo_4.enabled=true;
combo_4.selectedIndex=0;
}
}

combo_4.addEventListener(Event.CHANGE,combo_);
function combo_(event:Event):void
{
bar.visible=true;
aSp.source=combo_4.selectedItem.data;
}

sol_btn.addEventListener(MouseEvent.MOUSE_OVER,sol);
function sol(event:Event):void
{
time_sol.start();
}

sag_btn.addEventListener(MouseEvent.MOUSE_OVER,sag);
function sag(event:Event):void
{
time_sag.start();
time1.stop();
}

sol_btn.addEventListener(MouseEvent.MOUSE_OUT,sol2);
function sol2(event:Event):void
{
time_sol.stop();
}

sag_btn.addEventListener(MouseEvent.MOUSE_OUT,sag2);
function sag2(event:Event):void
{
time_sag.stop();
}

var time_sol:Timer=new Timer(20,0);
time_sol.addEventListener(TimerEvent.TIMER, zamanlar_sol);
function zamanlar_sol(event:Event):void
{
var d:int=aSp.horizontalScrollPosition;
if(d>10){
d=d-10;
aSp.horizontalScrollPosition=d;}
}

var time_sag:Timer=new Timer(20,0);
time_sag.addEventListener(TimerEvent.TIMER, zamanlar_sag);
function zamanlar_sag(event:Event):void
{
var d:int=aSp.horizontalScrollPosition;
if(d<510){
d=d+10;
aSp.horizontalScrollPosition=d;}
}

sag_btn.buttonMode=true;
sol_btn.buttonMode=true;

Flash CS4  .fla dosyasını indirmek için tıklayınız.

Emre TAKIL  “Bilişim Teknolojileri Öğretmeni”


Yazar: emretakil

Emre TAKIL sitemizde 2 yazı eklemiş...

Share
  • harika bir uygulama olmuş ellerine saglık

  • Mikail

    Sa

    kardeş nasıl kullanabileceğimizide açıklasaydın ben siteme eklemek isterim yani klasik hava durumu yerine bunu kullanabilirim ama nasıl yapılcağını yazmamıssın

  • engino

    güzel bir çalışma ama nasıl yapacağımız hakkında braz bilgi verseydiniz iyi olurdu 🙂

  • CS4 ile düzenlenmiştir.

  • ellerine sağlık,
    ama çalıştıramadım 🙁
    fla indirdim^CS3 ile açılmadı..

    xml dosyasının adını hava_durumu.xml olarak kaydettim ama olmadı

    sence neden?
    🙂