Türkiye Online Medya Araştırması

İçeriğin rss beslemesi kullanımda değil Soru - Cevap Bölümü / Kategori: Programlama

20/03/2010 - 21:18:10 cevap (4) Okunma : 717 Bu yazıyı 1 kişi tuttu.

Flex'te bir class'ı bir component'e parametre olarak gönderebilir miyim?

bir mxml component'im var ve bir class'ı parametre olarak göndermek istiyorum. İlk aklıma gelen aşağıdaki gibi bir kod oldu va tabiki hatalı. (Zaten yazarken çok mantıksız gelmişti ama şansımı denemek istedim.) Gönderdiğim parametre'de bir component, adı da "chessTable"

Bunu nasıl yapabileceğimi bilen var mı?


[Exclude(name="tableClass", kind="property")]
   public var tableClass:Class;
   public function joinTable(event:MouseEvent):void{
    var gamePanel:tableClass = new tableClass();
   }   
adres Salih Dincer profilini göster
Salih Dincer 01.02.2009 18:14:31
En iyi cevap mı ?

Derlenen sınıfın ismini mi almak istiyorsunuz?

Peki nereye göndermek istiyorsunuz? Yani derleme anına mı? Yoksa bir fonksiyon içine mi?

adres aerkanc profilini göster
Ahmet Erkan ÇELİK 01.02.2009 22:48:38
En iyi cevap mı ?

@salih daha öncede yazmıştım onLine oynanan bir satranç oyunu yazıyorum. Oluşturduğum tüm componentleri daha sonrada kullanılabilecek şekilde yazıyorum. Bu component de salon komponenti. Bir tabBar'ın ilk tab'ı Masalar listeleniyor ve oyuncu masalardan birine oturduğunda, oturduğu masa yeni bir tab'a dinamik olarak ekleniyor. Ben bu salon component'ini başka oyunlarda da kullanılabilir kulmak istiyorum. Yani oturulan masa bu gün satranç masası olur yarın tavla masası! Bu nedenle masa için kullanılacak class'ı parametre olarak göndermek istedim.

Tabii alternatif kullanımlar da var. Mesela 1 gönderirsem satranç masasıdır, 2 gönderirsem tavla masasıdır diye bir kodda yazabilirim. Ama en efektif çözümü arıyorum.

adres Salih Dincer profilini göster
Salih Dincer 02.02.2009 00:49:10
En iyi cevap mı ?

Sınıflar zaten birden fazla uygulamada kullanılabilecek şekilde yazılabiliyorlar. O yüzden temel öğeler inşaa edilip özel bölümleri(örneğin satranç ile alakalı kısımları) başka sınıflara bölebilirsin diye düşünmekteyim.

Bahsettin sekme hadisesi de tıpkı Chrome'daki gibi değil mi? Bir başlangıç sekmesinden seçilen web sitesi (salon) bizi başka bir pencereye (sekmeye) açıyor. Bu konuda bir sınıfım var ve yardımcı olacaksa kullanabilirsin. Basit bir mantık (depth) ile sahneye sekmeleri kuruyor ve içeriğini de dinamik olarak dışarıdan alıyor.

Gerçi senin sormak istediğin bu değil sanırım ama ben hala tam olarak anlamadım...:)

adres aerkanc profilini göster
Ahmet Erkan ÇELİK 02.02.2009 10:43:08
En iyi cevap mı ?

@salih öncelikle ilgin için teşekkür ederim. yahoo üyeliğin varsa games.yahoo.com/ch adresinden bu tarz çalışan bir satranç oyunu görebilirsin. Her sekmede(tab) birmasa açılmasına müsade ediyor. Benim yapmak istediğim ise şu:

Bir componentim var, masaları listeliyor. İş bu componetin ismi "saloon" ve bu salonda listelenenler bu gün satranç masaları, ama yarın öbür gün aynı component'i ben tabla için kullanmak isteyebilirim. Başka bir zaman da dama için kullanmak isteyebilirim.

Bir masaya oturulmak istendiğide ise şöyle bir kod çalışıyor:


public function joinTable(event:MouseEvent):void{
//oturulacak masanın ismini tableName isimli değişkene aldım
  var tableName:String = this.tables.selectedItem.name; 
//bu masada zaen oturuluyor mu kontrol ediyorum    
  var displayObj:DisplayObject = this.tabNav.getChildByName( tableName );
//Eğer bu masada zaten oturulmuyorsa:
  if( displayObj == null ){
//Yeni bir satranç masası oluştur. Benim sorunum işte burada: 
//Kullancağım class nasıl parametre yoluyla değiştirilebilir?          
    var gamePanel:ChessTable = new ChessTable();
//Ouşturulan satranç masasının controler nesnesi bu salondur.
    gamePanel.tableController = this;
//Bu kendi yazdığım bir olay. Eğer masa listesinde  bir değişiklik 
//olursa(yeni bir masa oluşması yada bir masaya oturulması) tetikleniyor.
    gamePanel.addEventListener(SaloonEvents.TABLELISTCHANGED,tableListChanged); 
//Oluşuturulan satranç masasını tabBar'a ekle
    displayObj = this.tabNav.addChild( gamePanel );
//Oluşan yeni sekmenin başlığı "örn: Masa1 isimli masa" şeklinde 
//görünecek            
    gamePanel.label = tableName + " isimli masa";
//yeni masanın name özelliği de masanın ismi olacak  
    gamePanel.name = tableName;
//masanın içinde bu masaya oturulduğunda çalışacak olan yordam.
    gamePanel.sitTable(event.target.id,tableName);
    }
  //geçerli sekme oturulan masa olsun.
  this.tabNav.selectedIndex = this.tabNav.getChildIndex( displayObj );
}

işte böyle :D

aç-kapa Bu Yazıyı Tutanlar

yeni üyelik | şifremi unuttum

aç-kapa Toplantı Özgür Yazılım ve Linux Günleri '10

Özgür Yazılım ve Linux Günleri '10

İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü ve Linux Kullanıcıları Derneği'nin 9 yıldır düzenlemekte oldukları etkinlikler bu yıl `Özgür Y...
Kategori: Toplantı

aç-kapa Yarışma 3. Uluslararası Ekslibris Yarışması: İstanbul 2010

3. Uluslararası Ekslibris Yarışması: İstanbul 2010

İstanbul Ekslibris Dernegi, Feyziye Mektepleri Vakfı ve Işık Üniversitesi, kitaplar için mülkiyet işareti olarak kabul edilen ve üzerinde estetik dege...
Kategori: Yarışma

aç-kapa Konferans Yeni Medya ve Etkileşim Konferansı 2010 - Marmara Üniversitesi

Yeni Medya ve Etkileşim Konferansı 2010 - Marmara Üniversitesi

Generally speaking, the term "New" brought about debates. We try to open up and elucidate the term "New" along with "Interact...
Kategori: Konferans

aç-kapa Konferans 3. Uluslararası Gelecek İçin Öğrenme Alanında Yenilikler Konferansı 2010: e-Öğrenme

3. Uluslararası Gelecek İçin Öğrenme Alanında Yenilikler Konferansı 2010: e-Öğrenme

Konferans ile ilgili ayrıntılı bilgiye aşağıdaki bağlantıdan ulaşabilirsiniz: http://www.futurelearning.org.tr/katilim_cagrisitr.pdf ...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 63 (50 kayıtlı, 13 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

Blog Bölümü Blogevi.com'a Taşınıyor

Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...

7.500'üncü üyemiz Cem Koç!

Neler Yapılabilir?

500 Hatası Hakkında!

Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)

coldfusion mysql ubuntu
 
sponsor adobe istanbul