AIR de Drag and Drop

20 Kasım 2007 – 05:10

Drag and Drop (sürükle ve bırak) işlemi flash ta yeni bir şey değil aslında, ama sürüklemek istediğiniz obje flash dosyanızın içinde olması gerekiyor aksi takdirde erişemiyorsunuz. Tabii AIR den bu yana yani masaüstü uygulamaları geliştirdiğimiz için haliyle dosya sisteminde ya da masa üstünde duran bir belgeyi, resmi, bir flv dosyasını programın üzerine sürükleyip bırakarak kullanabiliyoruz.

Kodlara geçmeden önce, sistematiği kısaca anlatmak istiyorum.
Sistemin çalıştığını düşünerek, masaüstünde duran bir dosyayı tutup yapılan programın üzerine getirdiğinizde ilk olarak o dosyanın uzantısının istediğimiz uzantı olup olmadığını kontrol ediyoruz. Eğer uzantı istediğimiz uzantı ise sürüklenen dosyayı kabul ediyoruz.
Daha sonra ise flv dosyasını oynatmaya başlıyoruz. Ayrıca normal olarak kullandığımız masaüstü programlarında dikkatinizi çekmiştir mutlaka, birden fazla dosyayı sürükleyip bırakabiliyorsunuz. Bunu yapmamız mümkün tabii, ama bu örnek için sadece ilk olarak seçileni oynatmaya başlıyor.
 

  1. import flash.desktop.DragManager;
  2. import flash.desktop.ClipboardFormats;
  3. import flash.events.NativeDragEvent;
  4. //Yeni bir obje oluşturuyoruz
  5. var file:Object = new Object;
  6. //Herhangi bir dosya sürüklendiginde çalışacak kod
  7. function startToDrag(event:NativeDragEvent) {
  8.  //Burada sürüklenen dosyanın bilgisini alıyoruz.Yani sürüklenen dosyanın flv
  9.  //dosyası olup olmadığını anlıyoruz
  10.  //Buradaki file objemizi array olarak düşünün
  11.  file = event.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT);
  12.  // file[0] ilk olarak sürüklenen dosyanın adını temsil ediyor.
  13.  //unutmayın bu bilgiyi clipboard dan alıyor.Eğer bir den çok dosyayı açmak
  14.  //isteseydik yapacağımız işlem for loop yaparak bütün dosyaları almaktı.
  15.  //Ama bu örnek için ilki yeterli olacaktır.
  16.  //dosya uzantısnın flv olup olmaddığını kontrol ediyoruz
  17.  if (file[0].extension=="flv") {
  18.   //Eğer dosya uzantımız flv ise dosyayı kabul ediyor.
  19.   DragManager.acceptDragDrop(this);
  20.  }
  21. }
  22. function dropDrag(event:NativeDragEvent) {
  23.  file = event.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT);
  24.  //Burada ise kabul edilen flv dosyasını oynatıyoruz.
  25.  flvPlayBack.play(file[0].url);
  26. }
  27. //olay dinleyicilerimiz
  28. this.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, startToDrag);
  29. this.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, dropDrag);

Göründüğü gibi çok basit.Ama yinede kaynak dosyaları indirmenizi tavsiye ederim.
Kaynak Dosyalar
Kolay Gelsin
Engin!

Bu makale ile ilgili olabilecek yazılar



Yorum Ekleyin