Başak KOLDAŞ

Java geliştirmek için kullandığımız idelerden biri olan eclipse i ubuntuda kurmak isterseniz bazı işlemleri yapmanız gerekiyor. Saçınızı başınızı yolmayın çok basit aslında.

Öncelikle add/remove program kısmına girin. Arama kutusundan jre ve jdk diye aratın ve bunları indirin. Çünkü eclipsein çalışabilmesi için bir jre ye(java runtime environment) ve kodlarınızın çalışabilmesi için bir jdk ya ihtiyacınız var. Daha sonra buradan  eclipse galileoyu indirin. İndirdiğiniz dosyayı o haliyle kullanamazsınız çift tıklayın archive manager ile dosyayı extract edin. Sonra Terminali açın. cd komutuyla eclipse i extract ettiğiniz directorye gelin.

Buraya dikkat: bulunduğu directorye geldikten sonra eclipse klasörnün içine gelin. Şimdi sudo ./eclipse komutunu çalıştırın eclipse açılacak. Her seferinde buradan mı çalıştıracağız diyorsanız evet bu komutu yazıp çalıştıracaksınız. Veya bi yolu daha var masaüstüne sağ tıklayıp create launcher dediğinizde eclipsein yolunu falan gösterip bi kısayolunu oluşturabilirsiniz.

Adobe AIR (Adobe Integrated Runtime) bir platform ve aslında web geliştiricilerinin işine çok yarayacak bir teknoloji. Çünkü bu platform HTML, JavaScript, AJAX, ActionScript, XML, Flash, Flex ve Dreamweaver gibi çok kullanılan web yazılım ve geliştirme araçlarını kullanarak masaüstü uygulamalar geliştirebilmenizi sağlıyor. Yani bir AIR uygulaması geliştirebilmek için Adobe Flash, Flex veya Dreamweaver programlarından birini kullanıyor olmanız yeterli. Bununla ilgili biraz daha bilgi verdikten sonra, Flash üzerine kurup bir AIR projesi nasıl açılır göstereceğim, sizler projenize göre Flex veya Dreamweaver üzerinde de deneyebilirsiniz bir farkı yok.

 

Adobe AIR in bir diğer özelliği de platform bağımsız çalışabilmesi. Şu anki AIR 2.0 sürümüyle uygulamanızı Windows, Linux ve Mac OS işletim sistemlerinde kullanabilirsiniz. Aslında AIR bir anlamda büyük bir değişiklik olarak nitelendirilebilir, web ve masaüstü uygulamalara farklı bir bakış açısı getirerek web uygulamanızı birden masaüstü uygulamasına dönüştürülebilir hale getiriyor. Yani bi bakıma “klasik web uygulamanız bir anda gerçek zamanlı çalışabilen bir exe ye dönüşüyor” diye düşünebilirsiniz. Bu özellik web geliştiricileri için çok büyük kolaylık olmuş. Çünkü masaüstü bir uygulama yapmak için C++ gibi başka bir dil öğrenmelerine gerek kalmıyor.

 

Şimdi Adobe Flash CS3 kullanarak bir AIR uygulaması nasıl geliştirilir adım adım buna bi bakalım.

Öncelikle http://labs.adobe.com/ adresinden kullandığınız Flash sürümüne (CS3 veya CS4) ve işletim sistemine uygun AIR update i indirin. İndirdikten sonra Flashı açtığınızda karşılama ekranında artık bir air uygulaması geliştirme kısayolu göreceksiniz.

 

welcomesreen

Devamını okuyun »

Java ile kolay bir kalıtım örneği yapalım. Car isminde bir arabanın sahip olabileceği temel özelliklere sahip bir ana class yaratalım ve bu classtan kalıtımla türettiğimiz özelleşmiş arabalar oluşturalım. Öncelikle Car classımızı yazalım. Temel olarak bir arabaya hız, fiyat ve renk özelliklerini kazandıralım.

 

public class Car {

    int speed;

    double regularPrice;

    String color;

   

//constructorda bu değerleri initialize edelim

    public Car(int speed,double regularPrice,String color){

        this.speed=speed;

        this.regularPrice=regularPrice;

        this.color=color;

    }

 

//main fonksiyonunda arabanın fiyatına erişebileceğimiz bir metod yazalım

    public double getSalePrice(){ return regularPrice; }

 

}

 

 

Daha sonra bu classtan türetilmiş kendi içinde farklı özellikleri olan farklı arabalar (subclasslar) üretelim.

Bir tane Car classını kalıtımla alan Sedan tipinde araba classı üretelim. Bu araba tipinde temel araba özelliklerinin yanında bir de uzunluğunu belirleyebilelim ve sedanın fiyatını, uzunluğu 20den büyükse 5% indirimli değilse %10 indirimli hale getirelim.

  Devamını okuyun »

MDI formlarda child formun iki kere açılmasını önlemek için singleton tasarım desenini kullanacağız. MDI form olarak tanımlanmış formumuz Form1 olsun. Bunun içinde açacağımız child form ise Form2 olsun. Form1de herhangi bir şekilde Form2 çağrıldığında sadece bir tane instance oluşturarak bir tane açılmasını istiyorum. Bunun için Form2nin classına şu kodu yazalım.

 

static Form2 myform;

public static Form2 Myform()

{

 

    if (myform == null)

    {

        myform = new Form2();

    }

    return myform;

 

}

 

if (myform == null) yazmamız burada çok önemli. Form2nin sadece bir tane nesnesi oluşturulsun istiyoruz ve bu nesne daha önce oluşturulmamışsa yani null ise oluştur diyoruz. Bu şekilde buraya singleton desenini uyguladık. Daha sonra Form1 den bir buton eventından veya buna benzer herkangi bir şeyden Form2 yi çağırırken şu kodu yazıyoruz.

Form2 yeni = Form2.Myform();

yeni.MdiParent = this;

yeni.Show();

yeni.Activate();

 

Form2nin nesnesini oluştururken new Form2() diye değil de Form2.Myform() diye oluşturduk buna dikkat edelim. En son olarak da Form2nin kapanış eventına bi kod cümlesi daha eklememiz gerekiyor.

private void Form2_FormClosing(object sender, FormClosingEventArgs e)

{

     myform = null;

}

 

Bunu yazmazsak nesnesini oluşturup açtığımız Form2yi kapatıp tekrar açmak istediğimizde bir hatayla karşılaşırız. Bunu engellemek için bu cümleciği yazıyoruz. Nedeni form nesnemizi bir kere oluşturabilmek üzere oluşturduk ve bunun için “nesne null ise yarat” dedik. Bu yüzden nesneyi null yapmadan tekrardan oluşturamayız. Dolayısıyla form kapatılırken nesneye null değerini atıyoruz ki istediğimizde Form2yi tekrardan yaratabilelim.

Adını son zamanlarda sıklıkla duymaya başladığımız tasarım desenleri nedir, ne işe yarar? Tasarım desenleri bir yazılım problemini çözmek için geliştirilmiş çeşitli çözüm yollarıdır. Zaman içersinde pek çok uygulamada karşılaşılan sorunlara yazılımcılar farklı çözümler geliştirmek durumunda kaldılar. Bunlardan bazıları işe yaramazken bazıları oldukça işe yaradı ve yazılımcılar bu işe yarayan yöntemleri geliştirdikleri başka uygulamalarda da kullandılar. En iyi yöntemler haklı olarak yazılımcılar tarafından daha çok tutuldu ve benzer uygulamalarda en etkin sonucu verdiği için bunlar kullanıldı. Nesne yönelimli programlama mantığına uygun geliştirilen bu yöntemler sık karşılaşılan sorunları çözmede en etkin yol olduğu için yazılım mühendisliğinde önemli bir olgu oldu.

 

Nesne yönelimli programlamada classların diğer classlara en az bağımlı olması gerekir. Programa yeni bir şey ekleneceğinde kodun iyi anlaşılabilmesi ve rahat genişletilebilir olması yani esnek olması gerekir. İşte bu durumları uygulayabilmek için tasarım desenlerini kullanırız ve yazılımın kalitesini artırırız.

Devamını okuyun »

Merhaba arkadaşlar, bu yazıda oda oyunumuza devam edeceğiz. Önceki yazıda ilk odayı tamamlamıştık şimdi de ikinci odaya geçiyoruz.

 

Öncelikle odanın senaryosunu düşünelim. İlk odada başlangıç olduğu için basit bir senaryo kurgulamıştık. Tablonun üstüne tıklandığında arkasından anahtar çıkıyordu ve bu anahtarla odadan çıkabiliyorduk. Şimdiki odamızda ise biraz daha fazla aşamalı bir senaryo kurgulayalım. Mesela odaya bir numeratör koyalım 5 haneli şifre doğru girildiğinde anahtarı elde edebilelim. Tabi oyuncunun doğru şifreyi butonlara rastgele tıklayarak bulmasını istemek büyük haksızlık olacaktır çünkü 3024 olasılıktan doğru olanı bulması samanlıkta iğne aramaya benzer ve hiçbir oyuncu bu zahmete katlanamaz oyunu kapatır ve başka bir oyuna geçer. Bu yüzden oyuncuya bir ipucu vermemiz gerekiyor. Bu ipucuyu bir bilgisayar ekranında gösterebiliriz mesela. Bu durumda senaryoyu şöyle kurgulayalım. Odada bir kitaplık, masaüstü bir bilgisayar ve numeratörümüz olsun. Kitaplığın bir rafına gizli bir CD koyalım. Oyuncu bu CDyi bulursa bilgisayara taksın ve ekranda şifre belirsin. Doğru şifreyi numeratöre girsin ve anahtarı elde etsin, odadan çıkmayı başarsın. Senaryoyu hallettiğimize göre şimdi odanın tasarımına gelelim.

 

Bir önceki yazıda da odaya koyacağınız eşya resimlerini internetten hazır bulabilirsiniz veya uygun oda resimlerinden dilediğiniz objeyi kesip kullanabilirsiniz diye bahsetmiştim. Kafanızdaki senaryoyu işletebileceğiniz resimler olması şimdilik yeterli. İlerde daha ciddi işler yaparsanız objelerin tasarımını zaten grafiker arkadaşlar yapacaktır. Önceki odamız kırmızıydı bu odayı da yeşil oda yapıyorum. Odaya bir derinlik kazandırmak için çizgi toolunun yardımıyla odayı 3 boyutlu hale getiriyorum. Sonra da eşyaları yerleştiriyorum.

 

resim11

  Devamını okuyun »

Bu yazımda çoğunlukla internette oynanan oda oyunlarına örnek bir oyun anlatacağım. Tasarımını flashla ve yazımını actionscript3 le yapacağız. Oda oyunları nasıl bir şeydir ve bizimkinin mantığı ne olacak önce o konu hakkında bir bilgi vereyim.

 

Oda oyununda asıl mantık girilen odadaki eşyaların arasından gizli nesneleri bulup, hatta bu nesneler odadan çıkmana yardımcı olacak nesneler de olabilir, biriktirerek oda oda ilerlemektir. Her odanın kendine göre bir senaryosu vardır, bu senaryoya göre nesneleri bulup ilerlersiniz. Bunun birçok profesyonel örneğini internetteki oyunlar arasından bulabilirsiniz. Bizim oyunumuz ise bu oyunlara göre senaryosu daha basit olan bir oyun olacak. Tasarımdan biraz daha çok yazılım kısmına ağırlık vereceğiz. Çünkü profesyonel oyunlar büyük ekiplerle hazırlanır. Oyunun tasarımını yapan bir grafik tasarımcısı olur, senaryosunu yazan, müziklerini hazırlayan başka biri ve kodlarını yazan başka biri olur. Bunu daha alt birimlere ayırıp artırmak da mümkün.

 

Kendi oyunumuza dönecek olursak, ilk odayı giriş ve ısınmak amaçlı biraz basit hazırlayacağız. İlk senaryoda birçok eşya olan bir odaya gireceğiz. Eşyaların arkasında bize odadan çıkmak için gereken nesneleri arayacağız. Odadan çıkmak için bize gereken nesne bir anahtar. Bu anahtarı bulduğumuzda kapıyı açıp ilk odadan ikinci odaya geçiyoruz.

 

Öncelikle ilk odanın tasarımını yapalım. Odanın ne şekil aldığını oturttuktan sonra kodlarını yazabiliriz. Bir klasör açın ve içine bir flash dosyası ve bir actionscript3 dosyası açın. İsimleri aynı olsun. Ben “odadanKurtul” ismini verdim. Flash dosyasını açalım ve tasarımına başlayalım. Document class yazan yere de odadanKurtul yazmayı unutmayın. İlk oda “kırmızı oda” olsun. Bunun için açılan boş alanı kırmızıya boyuyorum ve bir oda derinliği ve izlenimi vermek için çizgi toolunun yardımıyla odaya derinlik veriyorum. Sıra eşyaları koymaya geldi. Eşyaları kendiniz çizebilirsiniz ama tasarım kısmıyla çok oyalanmayıp biraz kolaya kaçmak istiyorsanız benim gibi internetten eşya resimleri bulabilirsiniz. Ben odamı şöyle dizayn ettim.

Devamını okuyun »

AS3ten, .NET veya php de olabilir, webserviceler aracılığıyla bağlanmak için şöyle bir fonksiyon kullanıyoruz. Diyelim ki ben asp.net projeme bağlanmak istiyorum. Bunun için bağlantı yoluna .asmx uzantılı dosyamdaki bağlanmak istediğim webmethodun adını yazıyorum.

 

function sendService (id,cmd,args)

{

            //bağlantı yolu

            var scriptRequest:URLRequest = new URLRequest(“http://localhost:81/ws.asmx/sendCMD”);

            var scriptLoader:URLLoader = new URLLoader();

            var Vars:URLVariables = new URLVariables();

                                    

            scriptLoader.addEventListener(Event.COMPLETE, handleLoadSuccessful);

            scriptLoader.addEventListener(IOErrorEvent.IO_ERROR, handleLoadError);

           

            //methoda gönderecegimiz parametreler                  

            Vars.to =id;

            Vars.cmd=cmd;

            Vars.args=args;

           

//post olarak gönderiyoruz veri alacaksak get kullanıyoruz             

            scriptRequest.method = URLRequestMethod.POST;

            scriptRequest.data = Vars;

                                    

            scriptLoader.load(scriptRequest);

                                    

            function handleLoadSuccessful(e:Event):void

            {

                         trace(“mesaj gönderildi.”);

                        //eger kullandıgınız method bir şey döndürüyorsa bunu kullanmak için söyle yazın

                         trace(e.target.data);

            }

                                    

            function handleLoadError(e:IOErrorEvent):void

            {

                         trace(“mesaj gönderilemedi.”);

            }

}

AS nin mantığını iyice öğrenebilmek için basit bir oyun yazmakla işe başlayabilirsiniz. Bunun için örnek olarak Action Script 3.0 ve flash kullanarak bir oyun hazırlayacağız. Oyunumuz şöyle olsun: karelerden oluşan bir platform çizelim ve oyuncu, bu platform üzerinde gizleyeceğimiz bir kareyi kendi koyduğumuz belli zaman dilimi içersinde platforma tıklayarak bulmaya çalışsın. Bulduğunda bir üst levela geçsin ve bir üst levelda gizlediğimiz bu kare bir önceki levela göre daha küçük olsun. Öncelikle platformumuzun ve gizleyeceğimiz karenin çiziminden başlayalım. Bir flash dosyası açıp ekrana soldaki menüden çizgi çizme kısayolunun yardımıyla aralıkları sabit 45×45 olan kareler çizelim. Platformumuzun görüntüsü şöyle olacak:

 

platform 

 

Devamını okuyun »

AS3te movie clip haline getirilmiş bir nesneyi sürükle bırak (drag n drop) yapmak için, öncelikle key ismini verdiğim movie clipi nesnesini oluşturuyorum.

 

MyKey = new key();

MyKey.x = 5;

MyKey.y = 15;

addChild(MyKey);

 

Ardından nesnemiz için sürükle bırak eventlarını tanımlıyorum.    

                       

MyKey.addEventListener(MouseEvent.MOUSE_DOWN, dragStarter);

 

MyKey.addEventListener(MouseEvent.MOUSE_UP, dragStopper);

 

function dragStarter(e:MouseEvent)

{

           foundKey.startDrag();

                                  

}

 

 

Burada herhangi bir koordinat belirleyelim ve eğer nesne bu koordinatlar içerisinde bir yere sürüklendiyse bırakılmasını isteyelim.

 

function dragStopper(e:MouseEvent)

{

            if(MyKey.x > 180 && MyKey.x < 200 && MyKey.y > 100 && MyKey.y < 150)

            {

                        MyKey.stopDrag();

                                              

            }

}

© 2010 bilyaz.com , Programlama Makaleleri, Yazılım Makaleleri , Örnek Kodlar , Eğitim Videoları , C#,ASP.NET,SQL,PHP Suffusion WordPress theme by Sayontan Sinha