3 Şubat 2012 Cuma

Flash AS3-Dosya Yükleyici(File Browser) Yapımı




Merhaba arkadaşlar şimdi size nasıl "gözat" diye tabir ettiğimiz file browser'ın yapılışını anlatıcam

Bir MovieClip yapın instance name'i "myUpload" olsun ve aşağıdaki kodları yazın
http://www.findthatlogo.com/wp-content/uploads/2011/10/adobe-flash-logo.jpg

Oyun Yapım Videoları:Karakter Seslendirmeleri

İşte Kratos'u ve Captain Price'ı seslendiren insanlar. Hep merak etmişimdir Captain Price'ı.

Oyun Yapım Videoları:Motion Capture

Motion Capture,Türkçe'si "Hareket Yakalama" anlamına gelir.Gözlemlediğim bir bilinmeyenide açıklamak istiyorum.Üstlerine takılan beyaz nesneler elektronik şeyler değildir.Sadece toptur.Renkleri farklı olduğu için bilgisayar onları farkedebilir.




Flash AS3-TextField Video Dersleri

http://www.boxuk.com/upload/img/Flash_CS5_Logo.gif


Merhaba arkadaşlar.Bugün çok işinize yarıyacak 2 ders ile karşınızdayım.Oyun yaparken sürekli oalrak çıktıları okumak,dinlemek ve kullanmak zorundasınızdır.Bunun için Textleri iyi yönetebilmelisiniz.İşte aşağıdaki iki videoyla bu yönünüzü geliştirebilmenizi umuyorum iyi izlemeler dilerim.

Not:Dersleri uygularak takip ederseniz daha fazla verim alırsınız.

Flash AS3-Yön Tuşları İle Karakter Kontrolü

Merhaba Arkadaşlar Bugünkü Dersimizde Size Yön Tuşları İle Karakter Hareket Ettirmeyi Anlatıcam.





Flash AS3-Kağıt Katlanma Efekti Yapmak

 Gerçekten Çok İşinize Yarayacağına İnandığım Arşiv.

 

Firefly – AS3 XML Flip Book

Firefly - AS3 Flip book

Flash AS3-Sağ Click Menüsü Düzenleme

Merhaba Arkadaşlar Şimdi Sizlere SağClik Menusü Düzenlemeyi Anlatacağım
Genel Görüntü Olarak Kodlarımız Şu Şekilde.


Flash AS3-Panoramik Resim Yapımı

Merhaba Arkadaşlar.Bu Dersimizde Panomarik Resim Yapmayı Öğreneceğiz
 Aşağıdaki kodları F9 a basıp,koplayalınız.
 İşte Kaynak Dosya:

Dosyayı İndir:
 Örnek Resim:

2 Şubat 2012 Perşembe

Bağımsız Oyun Geliştiriciliği


Önceki yazımda da belirttiğim gibi yazımın konusu "Bağımsız Oyun Geliştiriciliği". İlk olarak ne olduğunu anlatmakla başlayayım. Kısaca bağımsız sinemanın oyun sektöründeki karşılığı diyebilirim. Küçük geliştirici ekiplerinin kendi kaynakları ile oyun geliştirip, yine kendi kaynakları ile bu oyunların dağıtım ve pazarlamasını sağlaması diyebiliriz.

Bağımsız oyun geliştiriciliğinin ortaya çıkışı yeni sayılsa bile kökenleri bayağı eskilere, 90'lı yılların başlarındaki (ve hatta daha da öncesine dayanan) shareware oyunlara dayanmakta. Shareware mantığının günümüze taşınıp Internet'in sunduğu geniş imkanlarla bir araya gelmesi ile oluşmuş bir kavram Bağımsız oyun geliştiriciliği. Günümüzdeki önemi ana akım piyasadan kaybolan yenilikçiliğin (bunun başlıca sebebi ortada dönen paralar büyüdükçe parayı koyan dağıtımcılar daha az riske girmeleri ve kazancı belli türlere yönelmeleri) kendine geniş bir yer bulması. Tabii sadece yenilikçi fikirlere yuva olmuyor, aynı zamanda saf eğlence arayan arcade severlere ve fazla para kazandırmadığı için ana akım piyasadan kaybolan oyun türlerine de kucak açıyor.

Ve bütün bunların merkezinde Internet var. Çünkü çok önemli bir konuda geliştiricilere yardımcı oluyor. Oyunun dağıtımı ve pazarlaması. Internet'in bu kadar yaygın olmadığı dönemlerde sektör büyüdükçe küçük firmalar oyunlarını satabilmek için büyük dağıtımcılara muhtaç kaldılar. Ama Internet'in yaygınlaşması ile buna bir alternatif geldi. Artan bağlantı hızları ile bilgisayar oyunlarının internet üzerinden dağıtımı iyice kolaylaştı ve hatta ana akım (mainstream) piyasada bile Valve'ın Steam'i gibi örnekler ortaya çıkmaya başladı. Yine aynı şekilde Internet bağımsız geliştiricilere oyunlarını tanıtmak için alternatif (ve pek de alternatif sayılmayacak) yöntemler sağladı. Ama bunlar buraya sığmayacak kadar uzun. O yüzden daha sonra detaylı olarak inceleriz.

Peki bunları niye anlattım? Çünkü Türkiye'de yaşayıp da oyun geliştiricisi olmak isteyen biri için en uygun yöntemin bu olduğuna inanıyorum. Evet kazancı az, evet çok fazla sorumluluk almanız gerekecek (bir oyunu bitirmek işin sadece başlangıcı olacak) ama ortada oyun geliştiren Türk firmaları fazla olmadığına göre bu ülkede oyun yapımından para kazanmak istiyorsanız deneyebileceğiniz bir yöntem. Ve önümüzdeki günlerde bu sitede bu konu hakkında daha fazla yazı bulabileceksiniz.

Flash AS3-Blur Efekti Yapımı

Sayfamıza bir adet kare çizin ve f8 tuşuna basın.Açılan pencereden Movie clip yazının isminede blur_mc yazın.Ana ekranımıza bir adet Movie clibimiz oluştu.Bu Movie Clibimizi seçerek properties penceresinden instance namesine blur_mc yazalım.blur_mc butonunu yapmış olduk.Şimdi kod kısmını yazmaya geldi.Aşağıdaki verdiğim kodları as2 ye göre as3 te deneyerek oldu nasıl oldu çalıştırdım anlamadım.:):) Şimdi kodları eksiksiz kopyala yapıştır yapacaz.Kodları kopyalayın eksiksiz.Sonra flash penceremizde ana sahnemizde yada birinci framede f9 tuşuna basın ve kod kaynağına şu kodları yapıştırın.
KOD:
var blurx:Number = 10;
var blury:Number = 10;
var kalite:Number = 3;
var blur1:Number = 0;
var blur2:Number = 0;
var kalite1:Number = 0;
var bluruygula1 = new flash.filters.BlurFilter
(blurx, blury, kalite);
var bluruygula2 = new flash.filters.BlurFilter
(blur1, blur1, kalite1);
var blurfiltre = blur_mc.filters;
blurfiltre.push(bluruygula1);
var blurfiltre1 = blur_mc.filters;
blurfiltre1.push(bluruygula2);
 
blur_mc.addEventListener(MouseEvent.MOUSE_OVER,butonover);
function butonover(e:MouseEvent) {
 blur_mc.filters = blurfiltre;
}
blur_mc.addEventListener(MouseEvent.MOUSE_OUT,butonout);
function butonout(e:MouseEvent) {
 blur_mc.filters = blurfiltre1;
}

Flash AS3-Popup Penecere Yapımı


Merhaba arkadaşlar…


Şimdi ilk olarak File-New-Flash File(Action Script3) olarak yeni
bir sayfa açalım.Sonra bir kare çizelim.Bunu f8 tuşu ile Movie
Clip’e çevirelim.Sonra bu Movie Clip seçiliyken Properties penceresinden
İnstance Namesine ” bt ” diye yazalım.
Tekrar birtane daha kare çizelim 300-200 örneğin.Bu kareyi seçelim
f8 tuşuna basın.Açılan pencereden Movie clipi seçin orayada main yazın.Ve şimdi ana sahneyle ilgili kodlarımızı yazalım.

Flash AS3-Büyüteç Efekti Yapımı

Bu dersimiz de sizlere flashta büyüteç nasıl yapılır onu yapacağız.
1-)Flash'ı açıyoruz
Ekran Alnts 6 Flash da büyüteç nasıl yapılır
2-)Ayarları yaptıktan sonra 3 adet layer oluşturuyoruz.
Ekran Aalnts Flash da büyüteç nasıl yapılır

Flash AS3-İçeriden Uygulama Kapatmak


Bu dersimizde çalıştırdığımız swf uygulamasını kapatmayı öğreneceğiz ama farklı bir şekilde uygulamanın içinden yapıcaz bunu. Aşağıdaki kodların çalışması için:
  • b_btn isimli bir buton
  • m_mc isimli bir movie clip
  • oluşturmamız gerekiyor. İlk frame e aşağıdaki kodları yazıyoruz.



    import flash.system.fscommand;
    m_mc.addEventListener(MouseEvent.MOUSE_DOWN, kapatFNC);
    b_btn.addEventListener(MouseEvent.MOUSE_DOWN, kapatFNC);
    
    function kapatFNC(event:MouseEvent):void
    {
    fscommand("quit");
    }

    Flash AS3-Dışarında Dosya Yüklemek

    Merhaba, bu dersimizde Action Script 3 kodlarıyla dışardan resim ya da swf çağırmayı öğreneceğiz.
    Yapmamız gereken sadece 1.frame’e şu kodları eklemek;
    var yukle:Loader = new Loader();
    var resim:URLRequest = new URLRequest("oyunyapimcisi.gif");
    yukle.load(resim);
    addChild(yukle);
    Burda dikkat etmeniz gerekenler, kırmızı ile belirtilenlerin aynı adda olması ve yine koyu mavi ile belirtilen “resim” lerin aynı adda olması.Yeşil ile yazılan “oyunyapimcisi.gif” sizin çağıracağınız resim ya da swf dir.Uzantıyı .swf olarak değiştirdiğinizde flashArsivi.swf dosyasını çağırır.
    Yukardaki kod ile gelen resim ve swfler sahnenin (0,0) kordinatına yani x=0 y=0, yani sahnenin sol üst köşesine gelir.Şimdi çağırdığımız obje yi aşağıdaki kodları ekleyerek konumlandırabiliriz;
    yukle.x=100;
    yukle.y=150;
    Bu kodları ekledğinizde çağırdığınız objeyi 100 e 150 olarak konumlandıracaktır.
    Son haliyle kod aşağıdaki gibi olmalıdır;
    var yukle:Loader = new Loader();
    var resim:URLRequest = new URLRequest("oyunyapimcisi.gif");
    yukle.load(resim);
    yukle.x=100;
    yukle.y=150;
    addChild(yukle);
    Şimdi ilk koda konumlandırma eklemeden çağıracağımız objeyi bir Movie Clip içine çağıralım.
    Öncelikle sahneye bir çizim yapıp onu seçip F8ile Movie Clip yapalım.Movie clipin içindeki çizim önemli değildir, sahnede boş movie clip de olabilir.
    Daha sonra oluşturduğumuz movie clip’i seçip Properties panelinden Intance Name değerine mcFa yazalım.Şimdi ilk kodumuzdaki addChild(yukle); satırının başına mcFa. ekleyelim yani şöyle yapalım;
    mcFa.addChild(yukle);
    Buna göre son kodumuz şöyle olacaktır;
    var yukle:Loader = new Loader();
    var resim:URLRequest = new URLRequest("oyunyapimcisi.gif");
    yukle.load(resim);
    mcFa.addChild(yukle);

    Flash AS3-Açılır(drop down) Menu Yapımı

    Adobe Flash AS3 Açılır (Drop Down) Menü Yapımı


    Arkadaşlar açılır (Drop Down) menü yapımını aşamalar halinde resimli olarak anlatacağım. Lütfen yazdığım her aşamayı atlamadan okuayarak uygulayınız. Örnek yaptığım uygulanın linkini alt kısıma koyacağım.
    Aşama 1- Öncelikle Flash programımızı açalım ve çalışma ekranımızın boyutlarını  600 – 100 olarak ayarlıyalım daha sonra layer bölümünden  bir adet layer oluşturalım ve ismini button olarak değiştirelim.

    Flash AS3-Yapay Zeka Sistemi

    Arkadaşlar Flash'ın ayrıca bir yapay zeka sistemi yok normal olarak kullandığınız kodlara if( döngüleri ekleyerek ihtimalleri sıralar ve bir yapay zeka oluşturursunuz.Bu yazımda işte bu olaylardan bahsedeceğim.

    //Diyelim ki Mario tarzı bir oyun yapıyorsunuz.Siz düşmana yaklaştığınızda,size dönmesini,size yürümesini ve size saldırmasını istiyorsunuz işte bunu şöyle yapıyoruz;
    dusman MovieClip'ine giriyoruz.Ve uzunca bir dikdörtgen çiziyoruz.Bu dusmanın "görüş alanı"ve buna bir isim veriyoruz.Biz "gorus" diyelim.

    if(dusman.gorus).hitTestObject(kahraman)){
     if(dusman.x<kahraman.x){    //demek oluyor ki dusman kahramanın sağında kalmışsa
    dusman.scaleX=-1;     //düşmanın yüzünü öbür tarafa çevir.(ilk sprite'in duruşuna göre değişir.eğer duşman sola bakıyor olarak çizilmiş ise geçerlidir.

    Flash AS3-Kronometre Yapımı

    ActionScript 3.0 ile Timer kullanarak kronometre yapımını öğreneceğiz.
    Öncelikle sahnemize Dynamic Text (Instance Name: oyunyapimcisi_txt) ve iki buton ekliyoruz. (Instance Name: Birisinin oynat_btn, diğerinin durdur_btn) olarak ayarlıyoruz. Daha sonra aşagıdaki kodlarımızı yazıyoruz:

    var sayacTimer:Timer=new Timer(100);
    sayacTimer.addEventListener(TimerEvent.TIMER,guncelleFCN);
    
    var sayac:Number=0;
    function guncelleFCN(evt:TimerEvent):void {
         sayac+=.1;
         sayac=(Math.round(sayac*10))/10;
         oyunyapimcisi_txt.text=String(sayac);
    }
    
    oynat_btn.addEventListener(MouseEvent.CLICK,startTimer),
    durdur_btn.addEventListener(MouseEvent.CLICK,stopTimer);
    
    function startTimer(evt:MouseEvent):void {
         sayacTimer.start();
    }
    
    function stopTimer(evt:MouseEvent):void {
         sayacTimer.stop();
    }

    Flash AS3-Flash'a Saat Eklemek

    Bilgisayarın saat ve tarihi sayesinde sizde Flash'a bir saat ekliyebilirsiniz. Sadece bu bilgileri göstermekle kalmayıp kullandığımız sembollerin açılarını değiştirebilir, günün belirli zamanlarında farklı mesajlar verebiliriz. Hatta biraz daha abartıp farklı arkaplanlar kullanarak gündüz ya da gece saatlerinde uygulamanın arayüzünün farklı görünmesini sağlayabiliriz. Buradaki sınır hayal gücümüze kalıyor. Eğer kullanıcının bilgisayarındaki saat ve tarih yanlış ise uygulamamızda ki tarih ve saatte yanlış görüntülenecektir. Bunun sebebi ise ActionScript’in İstemci Taraflı bir kodlama dili olmasıdır.
    Uygulamamızda tarih ve saat kısacası zaman ile ilgili bilgileri vermek istiyorsak Date() sınıfını kullanmamız gerekmektedir. Date sınıfı içerisinde bir çok veriyi barındırmaktadır. Bu tip veriler karmaşık veri tipi olarak isimlendirilirler. Date sınıfının hangi verileri barındırdığını görebilmek için aşağıdaki kodları Actions paneline yazalım.

    [cc lang="ActionScript"]var zaman:Date = new Date();
    
    trace(zaman)
    [/cc]
    Output paneline o anki zaman değerleri yazılacaktır. Bu değerler sırası ile Gün ismi, ay ismi, ayın kaçıncı günü olduğu, saat, GMT saatine göre yerel saat ve yıl bilgileridir. Görüldüğü gibi almak istediğimi bilgilere karmaşık bir şekilde ulaştık. Fakat bu bilgiler anlıktır. Dikkat ederseniz saatteki saniye değeri uygulama çalıştığı andaki saniye değerinde kalır ve değişmez, değişmesi için uygulamanın sürekli çalışması gerekmektedir. Bir de bu değerleri düzenleyerek kullanıcıya düzgün bir şekilde aktarmak gerekecek. Bu bilgileri istediğimiz formatta düzenleyebilmek için Date sınıfının metotlarını kullanabiliriz. Böylece oluşturduğumuz zaman nesnesinin içerisinden ihtiyacımız olan bilgileri alarak düzenleyebiliriz. Sınıfın içerisinden istediğimiz bilgileri almak için aşağıdaki metotları kullanabiliriz.
    zaman.getDay();//Haftanın kaçıncı günü olduğunu verir.
    //Haftanın ilk günü Pazar olarak verilmiştir. Yani haftanın 0. günü Pazar olarak kabul edilir.
    
    zaman.getMonth();//Yılın kaçıncı ayında olduğumuzu verir.
    
    zaman.getDate();//Ayin kaçıncı gününde olduğumuzu verir.
    //Burada da 0 değer Ocak ayına eşittir.
    
    zaman.getFullYear();//içinde bulnduğumuz yılı verir.
    
    zaman.getHours();//saat bilgisini verir.
    
    zaman.getMinutes();//dakika bilgisini verir.
    
    zaman.getSeconds();//saniye bilgisini verir.
    
    zaman.getMilliseconds();//milisaniye bilgisini verir.
    Date sınıfının içerisinden istediğimiz bilgileri aldık. Sıra geldi bu bilgileri sürekli güncellenmesine; güncellemeyi sağlamak için Bir olay tetikleyiciye ihtiyacımız olacak. Olay tetikleyici olarak ENTER_FRAME ya da Timer kullanabiliriz. Ben bu uygulamada Timer kullandım.
    Artık uygulamamızı oluşturabiliriz. İlk olarak sahne üzerine iki adet dinamik metin kutusu oluşturalım ve Instance Name kısımlarına tarih_txt ve saat_txt yazalım.
    Uygulamamızda kullanacağımız nesneler bu kadar. Şimdi de Actions panelini açarak aşağıdaki kodları yazalım.
    //bir Timer nesnesi oluşturuyoruz süre olarakta 1 milisaniye değerini giriyoruz
    var sayac:Timer = new Timer(1);
    
    //oluşturduğumuz timer nesnesine bir olay dinleyici atıyoruz
    sayac.addEventListener(TimerEvent.TIMER, zamaniGoster);
    
    function zamaniGoster(e:TimerEvent) {
     //zaman isimli yeni bir nesne oluşturuyoruz
     var zaman:Date= new Date();
     //içerisinde gün isimlerinin olduğu bir dizi oluşturuyoruz
     var gunler:Array=new Array("Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi");
     //ay isimlerinin içerisinde olduğu bir dizi oluşturuyoruz
     var aylar:Array = new Array("Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık");
     //kullanacağımız değişkenlerimizi tanımlamaya başlıyoruz.
     //tanımladığımız değişkenler haftanın kaçıncı gününde, yılın kaçıncı ayında,
     //ayın kaçıncı gününde olduğumuzgibi bilgileri içerecekler
     //bu değişkenleri kullanarak oluşturduğumuz dizilerin elemanlarını sahnedeki metin alanına yazdıracağız.
     var haftaninGunu = zaman.getDay();
    
     var hangiAy = zaman.getMonth();
    
     var ayinGunu = zaman.getDate();
    
     var yil = zaman.getFullYear();
    
     //zaman nesnesini kullanarak saat ile ilgili bilgileri alıp
     //tanımladığımız değişkenlere değer olarak atıyoruz
     //if koşullu ifadesi ile de gelen değerler 10'dan küçükse başına 0 ilave ediyoruz ki
     //değerler tek haneli olarak yazdırılmasın(Örn.= 3 yerine 03 vb.)
     var saat = zaman.getHours();
     if (saat<10) {
      saat="0"+saat;
     }
     var dakika = zaman.getMinutes();
     if (dakika<10) {
      dakika="0"+dakika;
     }
     var saniye = zaman.getSeconds();
     if (saniye<10) {
      saniye="0"+saniye;
     }
     //saat ile ilgili değerleri sahne üzerindeki saat_txt isimli metin kutusuna yazdırıyoruz
     //değerler arasına : ekleyerek birbirinden ayrılmasını sağlıyoruz.
     saat_txt.text=saat + " : " +dakika + " : "+  saniye;
     //tarih ile ilgili değerleri sahne üzerindeki tarih_txt isimli metin kutusuna yazdırıyoruz
     //değerler arasına boşluk ekleyerek değerlerin birbirinden ayrılmasını sağlıyoruz.
     tarih_txt.text = ayinGunu + " " + aylar[hangiAy] +" "+ yil+" " + gunler[haftaninGunu] ;
    }
    //sayacı çalıştırıyoruz
    sayac.start();

    İşte bu kadar.

    Flash AS3-Ön Yükleyici(Preloader) Yapımı

    Oyunlarımıza bir yüklenme ekranı yapmamız gerçekten hoş olabilir.Bunun için aşağıdaki yolu kullanarak Scene panelini açın ve mevcut sahnenizin üzerine yeni bir sahne ekleyerek ön yükleme işlemi için yeni oluşturduğunuz sahneye geçin.
    Window > Othet Panels > Scene ( Shift+F2 )

    2eoblmd Flash AS3 preloader yapımı

    1 Şubat 2012 Çarşamba

    Flash AS3:Yazdır Butonu Yapımı

     Bir MovieClip oluşturup.İnstance name'i yazdir_btn olarak girin.Ana sahneye dönün ve F9 a basıp şu kodları yazın.



     var yazdir:PrintJob = new PrintJob();

    yazdir_btn.addEventListener (MouseEvent.CLICK, oyunyapimcisi);

    function oyunyapimcisi (event:MouseEvent):void
    {

    yazdir.start();
    }


    İşte bu kadar.