2009 Hoşgeldin ! Herkese İyi Yıllar !


Merhaba arkadaşlar ;

2009 Yılının size ve tüm sevdiklerinize önce sağlık ve mutluluk getirmesini devamında da tüm dileklerinizi gerçekleştiği bir yıl olmasını tüm kalbimle dilerim.

Bu blogun sadık okuyucularına 2009 yılında güzel sürprizlerim olacak.Yazdığım her yazıyı RSS ile okuyan veya bloguma her gün girip uygulamaları indirip teşekkür,tavsiye veya yorum ekleyen sizlere her ay çekiliş sistemi oluşturup bir adet kitap tanıtıp hediye edeceğim. En son Davutpaşa etkinliğinde de kitap alan insanların gözündeki sevinç ve olası hayatlarındaki değişiklikler beni çok etkiledi. Geriye dönüp baktığınızda ben öyle bir blog okudum bunları öğrendim ve hatta bu kitapta Ercan Altuğ hoca'dan kazanmıştım dersiniz bir blogun somuta geçtiğinin göstergesi olur.

Çünkü büyük bir ihtimalle bu blogu 2009da noktalayacağım. Kapatmayı düşünmüyorum ama hem askere gideceğimden hemde dönüşte olası işlerimin biraz daha yöneticilik gibi teknik tarafa pek yakın olmayan kısımlardan devam etmesinin kuvvetle muhtemel olmasından böyle bir karar aldım. Bu blogu da hep eleştirdiğim Adobe bunu çıkardı,Microsoft bunu duyurdu gibi pazarlama bloglarına çevirmeyeceğim duyurursam örnek bir uygulamasını yapmış eksilerini artılarını tavsiyelerini vererek yapmak isterim. Bunu da yapamadıkça yazılmaşı yeniden yazmaya gerek yok.

Eminim çok daha zor bir yıl olacak 2009 ama ne kadar zor olursa onların üstesinden gelebildikçe daha da güzel,mutlu ve kardeşçe bir yıl olacaktır.

Kitap tanıtım ve hediyesi etkinliğini haftaya bir yazımla duyuracağım ve ilk kitap 30 Ocak'ta sahibinin elinde olacak. Mutlu yıllar !




Ercan Altuğ YILMAZ




BilgeAdam Fatih Şube Günlerim...


Merhaba arkadaşlar ;

Blog adresimde genel olarak günlük formatında verdiğim dersler ve faydalı gördüğüm ders notlarımı ve eğitim içerikli web adreslerini paylaşıyorum.Verdiğim dersler arasında da aslında düzenli olarak BilgeAdam bünyesinde bireysel eğitimler de oluyor ancak son gün fotoğraflarını eklemiyordum. Ama bu seferlik bir istisna yapacağım.

BilgeAdam'da Beşiktaş ve Kadıköy şubelerinde bireysel eğitimlere giriyorum. Zaten çoğunlukla da haftaiçi alıyorum. Diğer zamanlarımı proje ve daha keyifli ve verimli gördüğüm Kurumsal Eğitimler,seminerler ve özel derslere ayırıyorum. Ancak geçtiğimiz aylarda BilgeAdam Fatih şubesinde bir sınıfı eğitim ortasında aldım.İlk başlarda hem malumunuz Fatih ve çevresi nedeniyle hemde sınıftan zorlanacakmışım gibi geldi.

Aksine zamanla Fatih şubesinde aldığım ilk ve tek Web sınıfı ile çok iyi anlaştık.Benim seminer ve kurumsal eğitimlerim nedeniyle gelmeme üzüldüler,dersler sonrasında sınıfta kaldık çok iyi ve güzel bir eğitim dönemini geçirdik ve geçen hafta pasta kesip sertifikalar dağıtarak noktaladık.Şimdi başarı sertifikası için proje yapıyorlar.Hepsine bana bu olası zor dönemde misafirperlikleriyle verdikleri destekten teşekkür ediyorum.İyiki sizleri tanıdım.Fatih diyince artık aklıma önyargıdan çok sizler geliceksiniz.

Son gün aslında kendim için çektiğim bir fotoğrafı bloguma ekliyorum,bu fotoğrafta olamayan birkaç arkadaş daha var ama onları da unutmadım.

Gürhan,Kemal,Muharrem,Mikail,Ezgi,Emir,Cengiz,Atakan,Mehtap,Hande ve diğer arkadaşlar. Teşekkürler WG1103 :)


Flex ve .NET ile Çoklu FileUpload Kontrolü





Geçtiğimiz günlerde gerçekleşen Silvernight etkinliğinde aynı takımda çalıştığımız başka bir Matematik Mühendisi arkadaşımız Ararat ile Silverlight ve Flex üzerine projelere uygulanabilirlik üzerine konuşurken kendisinin bir .Net projesinde Fotoğraf upload için bir Flex kontrolünü türkçeleştirip .Net ile konuşturduğunu ve bunun da Server tarafında , ne .Net ile bukadar çoklu ve progressini gösterirken , ne de Silverlight ile client tarafında olmamasından bukadar verimli çalışabileceğini söyledi. Flex uygulaması gayet başarılı upload olan dosyaların yüzdelerini gösteriyor ve upload bitince direk sayfa refresh atarak fotoğrafı sayfaya ekleyebiliyor. Bunu kendisinden bir makale olarak bana yazmasını adıyla yayınlayacağımı söylemiştim geçenlerde makale elime geçti daha çok insanın kullanabilmesi için paylaşıyorum.




Web sitesi geliştirenlerin çoğunlukla karşılaşacağı kontrollerden bir tanesi de upload kontrolüdür. Bu noktada .NET kullananlar toolbox’taki FileUpload kontrolünü tercih etmektedirler. Ancak bu noktada bu kontrolle ilgili bazı problemler yaşanabilmektedir. Öncelikle upload süreci kullanıcıya gösterilmek istenebilir. Ayrıca çoklu dosya upload edilmek istenebilir. Bu noktada .NET’teki bu kontrol istenenleri karşılayamamaktadır. Ben de bu problemle karşılaştığımda ufak bir google araştırması yaparak http://www.codeproject.com/KB/aspnet/FlashUpload.aspx adresindeki FlashUpload kontrolüne rastladım. Bu adreste kontrolün kullanımı ile ilgili ihtiyaç duyulacak tüm dosyalar ve dolayısıyla da kodlar paylaşılmış. İsterseniz kontrolün kullanımına ve özelleştirilmesine başlayalım:






Öncelikle http://www.codeproject.com/KB/aspnet/FlashUpload.aspx adresinden sayfanın üst kısmında bulunan download linkine tıklayarak FlashUpload.zip dosyasını indiriyoruz. Klasöre çıkartıp açtığımızda birkaç dosya görmekteyiz.
İndirdiğimiz dosyalardan FlashUploadFlexSrc klasörü haricinde kalan klasörler Visual Studio 2008 ile hazırlanmış bir solution’ın elemanlarıdır. Sln uzantılı dosyayı açtığımızda Visual Studio’da açılan solution’da iki tane proje karşımıza çıkmaktadır. Bunlardan ilki FlashUpload_Web, diğeri ise FlashUpload projeleri. FlashUpload_Web projesi upload kontrolümüzün çalıştırılacağı örnek web sitesini temsil etmektedir. FlashUpload projesi ise upload kontrolümüzün swf dosyasını compile edip dll oluşturan projedir.




FlashUploadFlexSrc klasörünün içerisinde ise Adobe Flex ile hazırlanmış upload kontrolünün Flex kodları bulunmakta. Bu upload kontrolünün arayüzü tamamen İngilizce olduğundan bunu özelleştirip Türkçe yapmak isteyenler olabilir. Ayrıca arayüzde birtakım değişiklikler yapmak isteyenler olabilir. Özelleştirme yapmadan kullanmak isteyenler için indirdiğimiz klasörde bulunan FlashUpload klasöründe default olarak hazırlanmış swf dosyası bulunmaktadır.




Öncelikle bu kod dosyasını Flex tarafında nasıl özelleştireceğimize bakalım:



Bunun için Adobe Flex Builder 3 programı gerekmektedir. Bu programı http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3email sayfasından indirip yükleyebilirsiniz. Programı indirip kurduktan sonra açıp File – New – Flex Project adımlarını izleyerek yeni bir Flex uygulaması oluşturuyoruz. Daha sonra Flex’in uygulamaları default olarak kaydettiği klasör olan My Documents/Flex Builder 3 klasörünün altında oluşturduğumuz projenin klasörünü bulup bu klasörün içine indirdiğimiz dosyada bulunan FlashUploadFlexSrc klasörünün içindeki FlashFileUpload.mxml ve components dosyalarını projemizde bulunan src dosyasının içine kopyalıyoruz. Kopyalamadan önce burada bulunan mxml uzantılı dosyayı silmemizde fayda var. Kopyalama işleminin ardından Flex Builder’a geri dönüp soldaki proje menüsünde projemizin üzerine gelip Refresh dersek eklediğimiz dosyaları göreceğiz. Bu adımdan sonra uygulamamızı yukarıdaki menüde bulunan Run düğmesiyle çalıştırabiliriz. Çalıştırdıktan sonra özelleştirilecek oldukça fazla nokta olduğu gözümüze çarpacaktır. Öncelikle tüm metinleri Türkçe’ye çevirmekle başlayalım. Mxml dosyamızın source kısmında bulunan kontrollerin üzerindeki yazıları kolaylıkla değiştirebiliriz. Ancak sadece mxml dosyasının içindeki kontrollerin isimlerini değiştirmek yeterli olmayacaktır. Çünkü ActionScript dosyalarımızın içinde eklediğimiz dosyalara göre dinamik olarak oluşan bir içerik mevcuttur. Bunu da değiştirebilmek için soldaki dosya görüntüleyicisinden eklemiş olduğumuz components klasörünün altındaki ApplicationClass.as ve FileUpload.as dosyalarını açıyoruz. ApplicationClass.as dosyasında bulunan kodlarda Alert komutu ile uyarı verilen metodlardaki deyimleri ve SetProgressBar() metodundaki metinleri değiştirebiliriz. Daha sonra FileUpload.as dosyasından da FileUpload, OnUploadProgressChanged ve FormatSize metotlarındaki metinleri değiştirebiliriz. Daha sonra da uygulamamızı tekrar çalıştırdığımızda değişiklikleri görebiliriz.




Gelelim Flex’te yaptığımızı web sayfamıza nasıl aktaracağımıza. İndirdiğimiz dosyaların içerisinde bulunan Visual Studio 2008 ile hazırlanmış solution dosyamızı açıyoruz. Daha sonra Flex projemize gelip yukardaki Project menüsünden Build All deyip swf dosyamızın oluşmasını sağlıyoruz. Oluşan swf dosyamıza Flex projemizin bulunduğu dizindeki bin-debug klasöründen ulaşabiliriz. Daha sonra oluşan swf dosyasını kopyalayıp indirdiğimiz dosyaların içinde bulunan FlashUpload klasörüne yapıştırıyoruz. Yapıştırdığımızda eski swf ile değiştirmiş oluyoruz. Daha sonra da tekrar Visual Studio’ya dönüp solution’umuzda FlashUpload projesine sağ tıklayıp Set As StartUp Project dedikten sonra bu projeyi build edip swf dosyamızı derleyip dll haline getirmiş oluyoruz. Sonra oluşan bu dll’i FlashUpload klasörünün altındaki bin klasöründen kopyalayıp FlashUpload_Web klasörünün içindeki bin dosyasının içine yapıştırıyoruz.




Şimdi sıra geldi bu kontrolü oluşturacağımız siteye ekleyip çalıştırmaya.





FlashUpload kontrolümüzü aspx dosyamıza ilave etmek için şu tag’i sayfamızın kod kısmına eklemeliyiz :




<FlashUpload:FlashUpload ID="flashUpload" runat="server"



UploadPage="Upload.axd" OnUploadComplete="UploadComplete()"



FileTypeDescription="Images" FileTypes="*.gif; *.png; *.jpg; *.jpeg" UploadFileSizeLimit="1800000" TotalUploadSizeLimit="2097152" />




Burada UploadFileSizeLimit ve TotalUploadSizeLimit değerlerini istediğimiz şekilde değiştirebiliriz. Böylece bir dosyanın boyutunun limiti ile eklenen dosyaların toplam boyutlarının limitini belirleyebiliriz. Ayrıca FileTypes değeri ise upload edilebilecek dosyaların uzantılarına sınır koymakta kullanılabilir. Bu kısmı da istediğimiz şekilde değiştirebiliriz.




Aspx sayfamıza FlashUpload kontrolünü yerleştirdikten sonra web.config dosyasına da eklememiz gereken kısımlardan bahsedelim. Öncelikle bu kontrolün yükleme komutu .NET tarafında bir Upload sınıfıyla kontrol edilmektedir. Bu sınıf da IHttpHandler ve IRequiresSessionState interface’lerinden türemiştir. Bu sınıf dosyaların belirlediğimiz dizine kayıt işlemini gerçekleştirmektedir. Bu doğrultuda web.config dosyamıza aşağıdaki tag’i eklememiz gerekmektedir.




<httpHandlers>



<remove verb="POST,GET" path="Upload.axd"/>



<add verb="POST,GET" path="Upload.axd" type="Upload"/>



</httpHandlers>




Detaylı bir proje geliştiriyorsak yazılan Upload sınıfını ihtiyaçlarımız doğrultusunda değiştirmemiz gerekecektir. Örneğin; resmi ekleyen kişiyle ilgili projemizde özel dosyalar varsa ve bu kişi veritabanında bir satırda tutuluyorsa onunla ilgili birtakım bilgilere göre upload işlemimizi yürütmemiz gerekecektir. Burada da HttpHandler’dan türeyen Upload sınıfımıza parametre göndermek veya Session aktarmak isteyebiliriz. Session ile ilgili olarak karşılaştığım problemlerden bir tanesi FireFox ile Flash arasında Session aktarım sorununun oluşmasıydı. Bununla ilgili birkaç fikir ve öneri yazının başında verdiğim linkteki tartışma alanında mevcut. Ama bence daha efektif olan ve tüm tarayıcılarda çalışan parametre aktarımından bahsedeceğim.




Öncelikle aspx dosyamızdan parametreyi oluşturmamız gerekmektedir:




flashUpload.QueryParameters = string.Format("User={0}", "kullanıcı1”);




Yukardaki kod bloğundaki gibi User parametresinin değerini kullanıcı1 olarak atadık. Göreceğimiz üzere FlashUpload objesinin QueryParameters özelliğini kullanarak bu işlemi gerçekleştirdik. Sonuç olarak da handler’ımızdan bu değeri yakalayabiliriz. Upload sınıfımızın içine de;




string param1 = context.Request.QueryString["User"];




şeklinde bir tanımlamayla User parametresinin değerine erişmemiz mümkündür. Ayrıca bu sınıf içinde;




string uploadPath =



context.Server.MapPath(context.Request.ApplicationPath + "/Upload");




şeklinde bir tanımlamayla upload edilen dosyaların nereye kayıt edileceğini de belirlemiş oluyoruz.




Sonuç olarak ASP.NET ve Flex’i beraber kullanarak çoklu dosya upload kontrolünün kullanımını açıklamış olduk. Siz de bu kontrolü projelerinizde kendinize göre özelleştirerek kullanabilirsiniz.



Kaynak kodlar : http://expression.web.tr/multiple_file_upload.rar




(Makalemde özelleştirdiğim kısımları içeren kaynak kodu da ekte bulabilirsiniz. Dosyada bulunan DotNet_FlashUpload klasörünün içindeki solution dosyasını Visual Studio 2008 ile açıp çalıştırabilirsiniz. Flex_FlashUploadDemo klasörünün içindeki kaynağı Flex Builder 3’de yeni bir proje oluşturup, oluşturulan dizindeki kaynağın yerine yapıştırarak kullanabilirsiniz.)




(Not: Kaynak kodlar http://www.codeproject.com/KB/aspnet/FlashUpload.aspx adresinden alıntıdır.)










Makale  : ARARAT AVŞAROĞLU








Teşekkürler Ararat....













Davutpaşa YTÜ Mat Muh bölümündeydik


Merhaba arkadaşlar ;

Cuma günü mezun olduğum Yıldız Teknik Üni.Matematik Mühendisliği'nden öğrenci arkadaşların davetlisi olarak Davutpaşa Kampüsündeydik. Benim için tahmin edersinizki gayet değişik duygular içinde ve diğer seminerlerden daha özel bir seminerdi. Seminer planı olarak BilgeAdam Dijital Tasarım Eğitim Müdürü Sevgili hocamız Melih SANCAR "Illustrator ve Photoshop ile Tasarım Temelleri" seminerini verdi. Öğle arasında eski hocalarımla ve arkadaşlarla yemekhane de yemek yedikten sonra benim "Dreamweaver ve Flash ile Web Teknolojileri" seminerim gerçekleşti. Dreamweaver CS4 ile XHTML & CSS uygulamaları yapıp Flash ile de hem temel animasyon teknikleri hemde CS4 ile gelen 3 boyutlu animasyonlara göz attık.

Bölüm Başkanı Nazmiye Hoca ve Melih Sancar Hocamız ile sohbette


Matematik mühendisi adayı kardeşlerime Web Teknolojileriyle ilgileneceklere özellikle faydalı olacağına inandığım bilgileri paylaştım.Ve KAriyer planlamaları ile ilgli olarakta birçok soruyu cevapladım. BilgeAdam olarakta tam 13 kitap dağıtarak benim seminerlerimdeki rekoru da kırmış olduk alan arkadaşlara faydalı olur umarım.

Seminer arası ve sonrası hocalarımı ziyaret etme şansını buldum.Benim için mezun olduğum okul,ders aldığım (ki pekte başarılı bir öğrenci olduğumda söylenemez) hocalarımla şimdi bambaşka koşullarda konuşmak ilginç ve özel bir anı oldu. Eminim birçok Matematik mühendisi adayı arkadaşımız içinde Melih hocanın anlattığı Grafik Tasarım gerçekleri ve kendine has bir camiasının varlığı ile benim anlattığım Web Teknolojileri üzerine programlama ile genel bir bilgileri olmuş oldu.Etkinlik sonrası toplu fotoğraf çekmek unutup geç kalınca sadece kitap alan arkadaşlarla çektirebildik fotoğrafta olmayan diğer arkadaşlar bir sonraki etkinliğe inşallah.
Fotoğraftaki ellerdeki kitaplar ve yüzlerdeki gülümse günün özeti olmuş bence.

Etkinlik öncesi,sırası ve devamında gösterdiği ilgi ve emek için bu satırları okuyan Bahar GÖKTEPE 'ye teşekkürlerimi iletiyorum. Benim için eğitmenlik kariyerimdeki unutmayacağım bir seminer oldu umarım daha da güzellerini yapacağızdır.


Sevgilerimle..


Ercan Altuğ YILMAZ


SWF Encrypt ile kodlarınızı koruyun.




Merhaba arkadaşlar ;

İnternette tasarımlarınızı ve kodlarınızı korumazsanız kopyalanması ( çalınması ) çok muhtemeldir. Ancak tasarımlarınızı dışarıdan kod yardımıyla çeker ve kodlarınızı da SWF Encrypt programıyla şifrelerseniz tasarımınızı kopyalayan kişi sadece boş sahneler ve anlamsız kod yığınları görecektir.



Örnek olması amacıyla Sothink SWF Decomplier programıyla internetten kopyalanmış bir swf dosyasını fla ya çevirip açtığımda 2.0 ve 3.0 dosyaları için if ve eval den oluşmuş ve arada birsürü anlamsız semboller içeren kod yığınları ortaya çıkıyor. Eli uzun arkadaşların bu tasarımı güncellemesi pek mümkün değil değilmi?



Programı sitesinden indirip 10 kere ücretsiz kullanabiliyorsunuz,10dan sonra ise yapacaklarınız size kalmış , Ben uninstall edip tekrardan yüklüyorum :)
Faydalı olması dileğiyle...

http://www.amayeta.com/software/swfencrypt/



YTÜ Davutpaşa'da BilgeAdam Adobe Semineri




Mezun olduğum okula seminer vermek için bu Cuma dönüyorum. Beklerim...

...

Silvernight : Sabaha kadar Silverlight !!!


Merhaba arkadaşlar ;

Geçtiğimiz gün dostum Daron YÖNDEM'in Koç Üniversitesinde düzenlediği INETA , Microsoft ve RedBull sponsorluğuyla sabaha kadar süren Silvernight etkinliğine bende katıldım. Böyle bir etkinlik Bilişim camiasında sanmıyorum birdaha olsun gelemeyenler çok interaktif bir katılımcı grubu ve 24 saat açık kantini ve okulu ile muazzam bir ortam kaçırdılar.

Ben öğrencim Oğuzcan Şahin ve MSP Gökhan Gülbiz ile beraber bir köşede takıldık. Önce Daron projeyi anlatıp kısa bir giriş yaptı Silverlighta ama benimde gördüğüm aslında herkes hazırdı projeye ve giriştik. Biz Oğuzcan Şahin'le Photoshop - XHTML & CSS kısmını hazırladığımız arayüzü Ararat ve ekibine pasladık onlarda .Net ile video upload ile kontrol panelini yazdılar 3ten sabaha kadar. Tabii tasarım aslında yarım saat sürdü gerisinde kalanda daha çok sohbet,dialog ve pizza redbull ikilisi oluşturdu duyanlar sabaha kadar eğitim veya çalıştık sanmasınlar NeedForSpeed bile oynadık :)

Sabahın ilk ışıklarında ise oylama sonucu 4 gruptan "DeveDizayn" adını verdiğimiz aslında DevDizayn olcaktıda adı ama dizaynı çok vurguluyor diye developmentın devesi olsun dedik kötümü ettik :) bizim proje birinci oldu ödül almadık ama iyi bir takım oyununu ortaya koyduk sanıyorum. Ben sadece kendi teslim ettiğim kısmın linkini paylaşıyorum.

http://www.expression.web.tr/sl.html


Böyle marjinal bir Bilişim etkinliğinde emeği geçen tüm genç MSP arkadaşlarımı kutluyorum,gerçekten pırıl pırıl bir gençlikler sadece Microsoft ile sınırlı kalmamalarını temenni ediyorum. Daron'a da özel bir tebrik bu satırlardan abi Allah gazını kesmesin sen "Silverlight Kampı" da yaparsın 1 hafta = sadece yemek su ve Silverlight = dağın başında konsepti fena diil :)

Bir sonraki etkinlikte görüşmek üzere...



OOP | Actionscript 2.0 & 3.0


Merhaba arkadaşlar ;

Actionscript 2.0 ve 3.0 programlama üzerine çalışmalarınızda kolaylık sağlayacağını ümit ettiğim bir bilgiyi bugün paylaşmak istedim. Verdiğim son eğitimlerde Actionscript 2.0 programlama içerisinde class yapılarına gerek kalmadan bazı basit object orient uygulamalar yapıldığını aslında bunun en geliştirilebilir şekilde 2.0 ile class yapısıyla yapılabileceğini göstereceğim.

Actionscript 2.0 sanılanın aksine Object Orient bir dildir.Class yapısı da mevcuttur.Aslında 3.0 ile gelen tanımlamalar ve kısıtlamalar Actionscript dilinin OOP (Object Orient Programming) kısmını programcılar için daha anlaşılır ve yönetilir yapmıştır.Mesela kafanıza göre skor = 5 gibi bir değişken 2.0da class olarak as dosyası içinde değişken olarak tanımlanabilirken 3.0 bu değişkenin mutlaka tipini isteyecektir var skor:unit = 5 gibi. Bu sayede performans arttırımı da sağlanmıştır.

Peki mesela devamlı kullanmak isteidğiniz bir fonksiyon var ve bunu bir class ile ilişiklendirmek istiyorsunuz,3.0'da yeni bir class oluşturup özelliklerini kullanacağımız classa extends diyerek yaptığımız iş ne yazıkki 2.0 da yok.Ama tam da 20 mantığına uygun prototype adlı özellik var. Mesela ctionscript 2.0 içerisinde varolan (bult-in) gelen bazı classları (Math,Date,Movie Clip....) gibi bu classların varolan özelliklerine kendiniz devamlı kullandığınız bir işlemi eklemek istiyorsunuz mesela math sınıfında uzaklık hesaplama yok , veya tarihte de geri sayım yok,movie klipte de çevirme işlemleri yok.Bunları kod ile yapabiliriz ama herseferinde yapmak yerine mesela MovieClip classına flipX yani x koordinatında çevir fonksiyonunu prototype ile ekleyebilir ve kullanabiliriz. Örnek daha açıklayıcı olacaktır.

________________________________________________________

MovieClip.prototype.flipX = function () {
this._xscale = -this._xscale;
};
_________________________________________________________

// Böylelikle MovieCliplerde artık flipX işlemini direk kullanabiliriz.

resim_mc.flipX();

________________________________________________________

MovieClip.prototype.flipY = function () {
this._yscale = -this._yscale;
};
________________________________________________________



Ayrıca daha önceden o classta tanımlı fonksiyonları da değiştirmek isteyebilirsiniz. Mesela Array dizi classına dizinin uzunluğunu veren data fonksiyonunu da aşağıdaki gibi ekleyebiliriz.


Array.prototype.push = function (data) {
this[this.length] = data;
};

Ancak bazı statik yani class yapısında class adı önünde dynamic yazmayan default statik olarak dinamik eklentilere kapalı olan classlarda mevcuttur mesela Math Classı. Math classına da mesela ortamala al veya uzaklıkhesapla(x,y) gibi eklentiler yapabilmek mümkün sadece prototype yazmanıza gerek kalmıyor :


Math.uzaklikHesapla = function (x1, y1, x2, y2) {
var dx = x2 - x1;
var dy = y2 - y1;
return Math.sqrt (dx*dx + dy*dy);
};

Burada x1 ve y1 koordinatlı bir noktayla x2 y2 koordinatlı başka bir noktanın uzaklıklarını hesaplayan matematiksel olarakta hipotenüs formulunden faydalanarak farklarının karelerinin kökünü alıyoruz.



Actionscript 3.0 da ise class yapısında mesela flipX() örneğini verecek olursak yeni bir class oluşturup MovieClip classına extend edip eklemek istediklerimizi ekleyebiliyoruz.

______________________________________________________________

package
{
import flash.display.MovieClip;

public class Flip extends MovieClip
{
public function FlipX(x1)
{
x = x1;
this.scaleX = -(this.scaleX)
}
public function FlipY(y1)
{
x = y1;
this.scaleY = -(this.scaleY)
}

}
}
______________________________________________________________


bu şekilde 1 kerelik tanımlamayla çoklu dosyalardan bu as dosyasındaki class ile erişebilir ve yönetilebilinir bir yapı zaten bu da Object Orient oluyor sağlanıyor.2.0 da prototype ise sadece tanımlı olan frame'de kullanılabiliniyor ve her defasında çağrılması gerekiyordu.


Faydalı olması dileğiyle....


İngilitere Computer Arts Dergisi Tutorialları




Merhaba arkadaşlar ;

İngiltere'de yayınlanan Türkiyedeki Digital Arts benzeri Computer Arts dergisi dergisinde yayınlanan tutorialların pdf ve çalışma dosyalarını sitesine ekliyormuş. Görsel tasarım olarak flash,illustrator ve after effects uygulamaları görülmeye değer dosyaları da inidirp kullanabiliyorsunuz.


http://www.computerarts.co.uk/tutorials



Faydalı olması dileğiyle..


Adobe Flash Catalyst : İnteraktif Tasarım Zamanı!



Merhaba arkadaşlar ;

Adobe tasarımlarımızda yeni bir iş akışı oluşturabilecek bir programı Flash ailesi içerisine kazandırmak üzere : Flash Catalyst.

Catalyst aslında bir web tasarım programı.Adobe'nin görsel tasarım programları Photoshop,Illustrator ve Fireworks ile beraber çalışabilen ancak hiç kod yazmadan web sitelerini Flash veya AIR tabanlı yayınlayabilmemizi sağlayan adı gibi katalizör denilebilecek ara program. Butonları,geçiş efektlerini hatta 3D ve benzeri hazır slider kontrollerini hiç kod yazmadan tasarlayabiliyorsunuz. Mantık olarak Swish'e çok benziyor,Captivate gibi de arayüzü var. Yani giriş seviyesinde bilgi sahibi kullanıcılar eventın ne olduğunu dahi bilmeden flash tabanlı web projeleri,AIR tabanlı masaüstü uygulamarı geliştirebilecekleri bir program.



Örnek bir uygulama videosu :

http://www.adobe.com/newsletters/edge/december2008/video/index.html?trackingid=EFBLF

Adobe Flash Catalyst takımının blogu :

http://thermoteamblog.com/




MAX'te Catalyst kullanılmış örnek uygulamalarda Adobe Flash On sitesi de gösterildi.

http://www.adobe.com/flashon/

Tasarımcı isterse projeyi yazılımcıya paslayacak şekilde Flex Builder için mxml formatında yayınlamaya ve kopyalatacak Code kısmına da sahip. Böylece yazılımcıya gönderilmiş bir proje üzerinde yazılım geliştirme yapılırken tasarımcının Catalyst'ten yapacağı güncellemeler entegre bir şekilde yazılımcıdaki projede de güncellenebilecek.




İş akışları açısından uzun vadede değerlenecek bir program.Daha downloada açılmadı ancak 2009 başında Adobe Labs'tan indirebilinir hale geleceği söyleniyor.
Adobe'den bizlere yeni bir oyuncak daha hayırlısı olsun ;)


http://labs.adobe.com/technologies/flashcatalyst/



CartoonSmart.com - IK Animation Flash CS4







Actionscript 3.0 'a geçmek için 10 Sebep - 7


Uygulamayı yeni bir sayfada görmek için tıklayın


Merhaba arkadaşlar ;

Actionscript 3.0 'a geçmek için 10 Sebep - 7 olarak Actionscript 2.0'da olmayan 3.0 ile gelen Ses dosyaların bitlerine erişebilmemizi sağlayan ByteArray Classı ve tasarımsal bir örneğini göstermek istedim.

// Çalacak mp3 dosyasını URLRequest metoduyla çağırıp ses adlı sound objesine yüklüyoruz.

var ses:Sound = new Sound();
var adres:URLRequest = new URLRequest("1.mp3");
ses.load(adres);
var seskanal1:SoundChannel = new SoundChannel();
seskanal1 = ses.play();

// Anasahnede şarkının id3 lerini okuyup sarki_txt içerisine yazan kontrolu ekledik.
ses.addEventListener(Event.COMPLETE,cal);
function cal(e:Event) {
sarki_txt.text = ses.id3.artist + " -" +ses.id3.songName ;
}


// ByteArray classı yardımıyla ses dosyasının kanal yogunluklarını DrawAPI ler yardımıyla mixer_mc isimli bir MovieClip içerisinde çizdirdik. MovieKlip içerisine çizdirmekte fayda var ileride alphası,konumu,rotationıyla daha rahat oynamak için.

var sesByte:ByteArray = new ByteArray();
stage.addEventListener(Event.ENTER_FRAME,eko);
var mixer_mc:MovieClip = new MovieClip()
addChild(mixer_mc)

function eko(e:Event) {
mixer_mc.graphics.clear();
SoundMixer.computeSpectrum(sesByte,true);
mixer_mc.graphics.moveTo(0,200);

//Grafiklerin stilleri mixer_mc.graphics.lineStyle(1,0xffccff) ile belli oluyor.
Burada 1 alpha değeri oxffccff de siyahla öne çıkan sarımsı bir renk.

for (var i:uint=0; i<256; i++) {
mixer_mc.graphics.lineStyle(1,0xffccff);
var yPos:Number = (-sesByte.readFloat() * 150 ) + 100;
mixer_mc.graphics.lineTo(i *2, yPos * 2);
mixer_mc.x = 150
mixer_mc.y = 150
}
}

Yukarıda play butonuna basınca çalan ve stop butonuyla da duran çalışmamın fla sı için tıklayın.

Not : Dışardan stream edilerek çağırılan 1.mp3 dosyasını da swf dosyası ile aynı yerde olduğundan emin olun.Fla direk çalıştırdığınızda mp3 dosyasını bulamazsa çalışmaz.

Faydalı olması dileğiyle...





Actionscript 3.0 'a geçmek için 10 Sebep - 6


Merhaba arkadaşlar ;

Geçtiğimiz aylarda başladığım " Actionscript 3.0 'a geçmek için 10 Sebep " yazımı bu bayram günlerinde tamamlamaya karar verdim. Amacım 2.0 da gayet zor olan ve 3.0'a geçişi hızlandıracak yenilikleri 10adımda toplamaktı. Verdiğim kurumsal eğitimlerde işte bu lazımdı , hah bu süper olmuş , tepkileri alanları not ettim ve 10 Sebepi artık tamamlayabiliriz. İşte böyle bir yenilik daha : Capabilities.

Capabilities kodu ile flashı çalıştıran player versiyonunu ve tipini(bu webde activex iken exe dosyalarında standalone olarak dönüyor),ekran çözünürlüğünü,bilgisayar dilini ve hatta bilgisayarın işletim sistemini öğrenebiliyoruz.Gelin deneyelim.Ekrana metin1_txt ile başlayan 5 adet dynamik text oluşturup adlarını alttaki instance name'lere uygun şekilde verin ve yayınlayın.


metin1_txt.text= Capabilities.language
metin2_txt.appendText(Capabilities.screenResolutionX+Capabilities.screenResolutionY);
metin3_txt.appendText(Capabilities.os + ” / ” + Capabilities.version );
metin4_txt.appendText(Capabilities.playerType);
metin5_txt.appendText(Capabilities.pixelAspectRatio);


Bu sayede ona göre farklı içerik(mesela arkaplan veya dil seçimleri) tasarlayarak yönlendirebiliriz. Mutlak güzel bir yenilik. Faydalı olması dileğiyle..



İyi bayramlar Bilişim dostları...


İyi bayramlar arkadaşlar ;

Sevdiklerinizle beraber mutlu sağlıklı ve dinlenebileceğiniz bir bayram geçirmeniz dileğiyle. Bu bayramda ben belki son dönemi biraz yoğun geçirdiğimden tatil yerine istanbul'da ailem ve sevdiklerimle geçirmeyi tercih ettim. Ufak bir todo list oluşturdum buradan da paylaşayım.

- Maltepe Üni. MBA için yazmam gereken Bitirme Tezini yazmak.
- BilgeAdam Web Tasarımcılar için CSS kitapını bitirmek.
- Lynda AIR Essential Eğitimini izlemek ve basit bir uygulama yapmak
- Blogumda Actionscript 3.0 Geçmek için 10 Sebep serisini tamamlamak
- Yine bloguma Flash için bir Component nasıl geliştirilir yazısını bitirmek
- Ücretini peşin aldığım 2 web tasarım projesini tasarlamak :)
- Türkiye'nin 1930'dan 80'lerin başına kadar 2 darbe ve demokrasi tarihini anlatan 12 Mart ve Demirkırat belgesellerinin DVD lerini izlemek


Umarım 1 hafta sonra bu listenin birçoğu hayata geçmiş olur. Blogumdan da bitirme tezimi de diğer olayları da paylaşacağım. İyi bayramlar..


Adobe Türkiye Blog Adresi MAX'ten yayında..


Merhaba arkadaşlar ;

Adobe'nin şuanda Milan İtalya'da gerçekleştirdiği MAX etkinliğinin videoları internete düşmeye başladı. Adobe Türkiye'den Barış Özcan ve diğer arkadaşlar Türk Adobe kullanıcıları için oradan notlar alıp Adobe Günlüğü isimli blogda videolarla paylaşıyorlar.Kendilerine teşekkür edelim bu fırsat için ve takip edelim.


http://www.adobegunlugu.com/


Digital McCann Actionscript Eğitimi tamamlandı

Merhaba arkadaşlar ;

BilgeAdam Kurumsal bünyesinde Digital McCann şirketine Actionscript 3.0 3 günlük eğitimini bu hafta tamamladık. Sınıf yerine toplantı odasında gayet interaktif kodları iyice zorlayarak güzel projeler çıkardık. Selim bey projelerinizde bol bol 2.0 yerine artık 3.0 kullanmanız ve çok daha rahat bir altyapıyla geliştirmeniz dileğiyle...