31 Ocak 2012 Salı

Flash Oyun Programlamacılığı Sertifikası

http://inciswf.com/sinavbitti.swf

Derslerimizi Takip Ettiyseniz Artık Zamanı Geldi :)


NOT:Sağ üstteki flash resmine tıklarsanız resmi indirebilirsiniz.

Flash AS3:Mouse'u takip eden partikül yapmak

http://actionscript.gen.tr/wp-content/uploads/2010/05/PolyStarTool.jpg
Arkaplan Rengini Değiştirip Gri Yapalım.

Araçlardan PolyStar Tool’u seçelim ve Properties panelindeki Options'a tıklayarak Styles'dan Star’ı seçelim, Number of Sides  ile de yıldızımızın köşe sayısını belirleyelim. Ben yıldızın köşe sayısını 7 olarak belirledim. Dolgu rengi olarak beyaz rengi seçelim ve sahneye bir yıldız çizelim.

Flash ile Programcılığın Mantığı

Merhaba arkadaşlar,sizlerle flash programcılığı ile ilgili deneyimlerimden bahsetmek istiyorum. Önceklikle herşeyi basit düşünün.Flash AS3 öyle çok serbest bir değildir diğer dillere kıyasla.Bu bir süre sonra işimize yarıyacak,gitgide hızdı düşünmemizi sağlayacaktır. Arkadaşlar flash sizlere sınır koyar.Bu sınırlara bir süre sonra o kadar alışırsınız ki 1 satır kodu 10 şekilde kullanmaya başlarsınız.Orasını sil,şunu ekle,o parantezi sil,hitTest ekle tarzı düşünceler kafanızda hep dönmeye başlar.Flash,hiç bilmeyen bir insanın öğrenmesi gereken "ilk" programdır.Çünkü size o beyaz,painti hatırlatan ekranıyla karşılar ve sürekli "ben flash'ım, benle crysis,fifa,pes,cod,wow yapamassın" cümlesini suratınıza tokat gibi vurur.Ama...





İşte Oyunum:Brotherhood of Defense

Merhaba arkadaşlar,geçende yazımda bahsettiğim gibi bir flash oyunu satarak para kazanabilirsiniz.İşte bende 2.defa bir flash oyunumu satmaya çalışıyorum.Oyunumun adı Brotherhood of Defense.İki kişilik bir oyun.İlerleyen zamanda sizde böyle oyunlar yapabileceksiniz.Oyunu yaklaşık 5 saatte(3 güne yayarak) tamamladım.İşte oyundan bir ekran görüntüsü.Alıntı Olmadığını Belli Etmek İçin Üzerine Sitemizin İsmini Yazdım.



İyi Günler Arkadaşlar.

30 Ocak 2012 Pazartesi

Flash CS4-Butona Link Vermek

Merhaba, Action Script 3 te link vermek Flash’ın ve Action Script’in önceki versiyonlarına göre göre biraz daha farklı.
Öncelikle daha önceki yazıda bahsettiğim gibi kodları Butonlara ya da Movie Cliplere yazamıyoruz.Her kodu frame e yazmak zorundayız.
  1. Butonumuz için gereken çizimi yapalım ve çizimi seçip F8 tuşuna basıp Butonumuzu oluşturalım.
  2. Buton yaptıktan sonra butonu seçip Properties panelinden Intance Name kısmına “oyunyapimcisi” yazalım.
  3. Daha sonra frame’i seçip Action Paneline (Klavyeden F9 tuşu ile action panelini açabilirsiniz.) şu kodları yazalım;
oyunyapimcisi.addEventListener(MouseEvent.CLICK, butonClick);
function butonClick(e:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.oyunyapimcisi.blogspot.com"), "_blank");
}
Kodlardaki “oyunyapimcisi“, butona verdiğimiz intance name ile aynı olmalı.Yokse çalışmaz.
_blank ile tıklandığında yeni sayfada açılmasını sağlıyoruz.Aynı sayfada açılmasını istiyorsanız “_blank” yerine “_self” yazabilirsiniz.

Bu dersimizde bu kadar.

İyi Günler Arkadaşlar.

29 Ocak 2012 Pazar

Flash CS4 Arrange Metodu

Merhaba Arkadaşlar,
Dileyim ki bir movieclip'iniz var.ve bu movieclip'in arkasına koymak istediğiniz bir arkaplan resminiz.bu iki objeyi Flash sahnesine sürüklediğinizde arkaplanın movieclip'in önüne gelme ihtimali var.İşte bu sorunu Arrange ile çözüyoruz.İkisinden birini seçiyoruz ve sağ clik->arrange menusunden ileri geri,en arka,en on,arada seçeneklerinden birini seçiyoruz.
http://www.photoshopmagazin.com/images/sources/7/70285/5(1).jpg
Bu yöntem sayesinde animasyon,oyun,bannerlarınızda sorun yaşamayacaksınız.
İyi Akşamlar Arkadaşlar.

22 Ocak 2012 Pazar

Bir Oyun Yapımcısı Ne Kadar Para Kazanır?

27 Aralık Salı 2011 Bir Oyun Yapımcısı Ne Kadar Para Kazanır? Bir oyun yapımcısı yıllık ne kadar para kazanıyor merak ettiniz mi hiç? Özellikle sektörün fazla geliştiği ABD'de oyun yapımcılığı getirisi bol olan bir meslek. 2011 yılının oyun yapımcıları maaş raporları yayınlandı ve bizim de ayrıntılı olarak göz atma fırsatımız oldu. İşte rakamlar:

Programcılar

3 Yıldan Az Tecrübesi Olanlar
Ast Programcı: $53,488
Üst Programcı: $54,167

21 Ocak 2012 Cumartesi

Ders-15 Flash Oyun Örnekleri-Fla Dosyaları Yardımcı Siteler

Aşağıdaki sitelerden örnek flash oyunlar ve fla dosyalarını bulabilirsiniz.

http://pelfusion.com/tutorials/35-flash-game-development-tutorials-fla-files/

http://www.freeactionscript.com/

http://www.flashgametuts.com/


Oyunlarınızda Kullanabileceğiniz Grafikler İçin;
http://sdb.drshnaps.com/
http://www.spriters-resource.com/
http://www.gsarchives.net/


Ve tamamen kendi örneklerim

 Link(3 Mb);
Şifre:oyunyapimcisi
http://www.2shared.com/file/Vdw7PVg6/Flash_rnekler.html

Ders-14 Flash'a Özel Kullanışlı API'ler

Flash Multiplayer;
Flash 3D;
Flash Physic 3D;

WOW physics engine


Flash Physic 2D;



Ders-13 Flash Kullanım Sırları

Evet arkadaşlar artık flah'ta belli bir seviyeye ulaştınız bundan bende sizlere flash kullanırken size lazım olacak,işinizi kolaylaştıracak bilgiler vereceğim.


Flash'ı kendinize göre düzenleyin;
sağ üstte bulunan şeçenekleri sayesinde flash'ı kendinize göre düzenliyebilirsiniz.Size bir oyun yapımcısı olarak en çok lazım olacakların listesi şöyle olacaktır;
Library
Properties
Actions
Scene
Timeline
Output
Compiler Errors

Ders-12 Flash'ta Matematik Konusu

Bu ders, benim size basit anlamda Flash anlatacagim son ders.Bu derste size, Flash’da yapacagimiz oyunlarda ve çesitli çalismalarda sikça kullanabileceginiz matematik kodlarini(fonksiyonlari) ve kullanim alanlarini anlatacagim.Bu dersten sonra, daha ders hazirlamayacagim.Zira bu son dersten sonra, simdiye kadar anlattigim toplam 10 dersi, çok iyi bir sekilde kavradiysaniz, siz de artik Flash Oyun Programciligina küçük bir adim atmissinizdir demektir.Daha ders hazirlamayacagim derken, hiçbir sey anlatmayacagim, her seyi birakiyorum anlamini çikarmayin.Mutlaka çesitli örnekler hazirlamaya devam edecegim,sordugunuz sorulara cevap vermeye çalisacagim.Sadece bu kadar dersi yeterli buluyorum. Bu dersleri kavramaniz durumunda, kendi kendinize rahatlikla oyunlar yapabilirsiniz (ama tabi “age of empires,crysis,counter strike gibi oyunlar yapmayi düsünmeyin). Çok alistirma yapmaniz gerekiyor.Parmaklarinizi kod yazmaya alistirmalisiniz. Neyse sözü fazla uzatmadan hemen çokça kullanilan matematik fonksiyonlari konusuna dönelim.



Flash'da Matematik Kodlari




Math.random();

Bu fonksiyon 0’dan 1’e kadar rast gele sayi üreten fonksiyondur (örnegin 0.2,0.9,0.5 gibi).

Ders-11 Flash'ta Zaman Konusu

Bu derste size yapacagimiz oyunlarda, vazgeçilmez bir unsur olan “zaman” konusunu anlatacagim.Çünkü, örnegin bir oyunun belli bir süre çalisip, bitmesini biz zamanlama islemiyle yapabiliriz,veya belli süre araliklarinda, agaçtan düsen elmalari bu zamanlama islemine göre düzenleriz.Kisaca, Flash CS4’de zaman nasil denetlenir,olusturulur? Sorusuna cevap bulacagiz bu derste.
FLASH CS4'de ZAMAN



Öncelikle sayfanin ortasina “Text Tool” araciyla bir tane yazi alani çizin. “Dynamic_Text” olsun.Renk olarak da siyah’i seçin.”Instance name” olarak da “gosterge” yazin.




Simdi baslayalim kodlama isine.1.framedeyken actions panelini açin ve asagidaki kodlari yazin.


Ders-10 Preloader[Ön Yükleyici] Yapımı

Bu dersimizde, yapacagimiz çalismalara,örneklere veya oyunlara nasil "yüklenme miktarini" gösterebilecegimizi ögrenecegiz.Tabi öncelikle “scene” konusunu ögrenmemiz gerekir gerekir.

Scene’nin Türkçesi “sahne”demektir.Eger istersek biz yapacagimiz çalismayi(oyunu), birkaç sahneden olusturabiliriz.Örnegin, oyunumuzun yüklenme miktarini gösteren bir sahne,oyunun menüsünün oldugu bir sahne,oyunun kendisinin oldugu bir sahne ve oyunun bitimi esnasinda gösterilecek olan bir sahne olarak, toplam 4 sahneden olusturabiliriz oyunlarimizi. Öncelikle sahne(scene) bölümüne nasil ulasacagimizi belirteyim:Shift+F2” tuslarina basarak veya “Window-Other Panels-Scene”ye tiklayarak scene bölümüne ulasip çalismalarimizdaki sahneleri görebiliriz.Asagidaki resmi inceleyin.



Ders-9 Oyunumuza Mouse Kontrolü Ekliyelim

Bu dersimizde de, bir önceki dersteki örnegi degistirecegiz.Topun kontrolünü bu sefer fareyle degil de, klavye ile saglayacagiz.Böylece, klavyeyle kontrol etmeyi nasil yapacagimizi ögrenmis olacagiz.Simdi öncelikle eski kodlarimizdaki fareyle ilgili kodlari silelim(asagidaki kirmizi yaziyla yazilmis kisimlari).

stage.addEventListener(Event.ENTER_FRAME,oyun);

Mouse.hide();

function oyun(event:Event):void{

nokta.x=mouseX;
nokta.y=mouseY;


if(nokta.hitTestObject(ust_duvar) || nokta.hitTestObject(alt_duvar)){
nokta.x=13;
nokta.y=177;
}
}




Sonra asagidaki mavi yaziyla yazilmis yeni kodlari yazin.

Ders-8 İlk Oyunumuzu Yapalım


Simdi kisaca bir oyun denemesi yapalim.Denememiz söyle olacak:Bizim bir tane kirmizi renkli, Instance Name’si “nokta” olan bir tane dairemiz olacak.Ve biz, fare yardimiyla bu topu hareket ettirebilecegiz.2 tane de siyah renkli duvarimiz olacak (insance name’leri “ust_duvar” ve “alt_duvar” olan) ve bu duvarlarin arasinda bir yol olacak.Biz, kirmizi topla bu yoldan geçerken, eger duvarlardan birine temas edersek, topumuz tekrar ilk basladigi koordinatlara geri gidecek ve tekrar bastan baslamak zorunda kalacagiz.Bu çalismanin bitmis halinin "resmini",“.fla” dosyasinin download linkini ve "online denemek" isteyenler için gerekli adresi asagiya ekledim.

Örnegin bitmis hali



Online deneyin
http://megaswf.com/serve/1956083

Ders-7 Flash'ta Ses Kullanımı

Bu dersimizde de, oyunlarda sikça kullanabileceginiz ses ekleme olayini anlatacagim.Yani Flash CS4'de nasil ses eklenir? Bu soruya cevap verecegim.


Flash CS4'de Sesler



20 Ocak 2012 Cuma

Ders-6 AS3 Değişkenler

Degiskenler


Nitekim programlamada ve haliyle oyun programlamasinda da, degisken vazgeçilmez bir unsurdur. Simdi, kisaca Action Script’teki degiskenler konusuna bir göz atalim.

Degiskenlerimizin yapisi :var degiskenin_ismi: degiskenin_tipi= degiskenin degeri” seklindedir.Degiskenimizi tanimlarken bu kalibi kullaniriz.Bu konuya baslamadan önce, size az sonra gösterecegim örnekleri çalistirdiginiz zaman, sonuçlar “OUTPUT” penceresinde gösterilecektir.Bu nedenle output penceresini öncelikle açmak gerekir.Bunun için, “F2” tusunu veya “Window-Output” kismini tiklamaniz gerekir.Simdi degisken tiplerine bir bakalim:

int

Bu degisken tipi,"pozitif (+)","negatif (-)" ve "0" rakamlari için kullanilir.Ancak ondalik degere sahip rakamlar için kullanilamaz.Kullanilirlarsa ondalik degerini otomatik olarak siler.


Örnek: Actions panelini açin ve asagidaki kodlari yazin:

var sayi:int= 4.3;
trace(sayi);


Ardindan “Crtl+Enter” yapinca sonuç olarak “4” çikacaktir.Noktadan sonraki 3 rakami otomatik olarak silinmistir. “trace ();fonksiyonun görevi,içine yazilan degerleri output penceresine yansitmaktir.






uint

Bu degisken tipi,sadece “pozitif (+)” ve “0” rakamlari için kullanilir.”Negatif (-)” rakamlar kullanilamaz.Kullanilirlarsa hata verir.Ayni zamanda ondalik degere sahip rakamlar için kullanilamaz.Kullanilirlarsa ondalik degerini “int” de oldugu gibi otomatik olarak siler.

Örnek: Actions panelini açin ve asagidaki kodlari yazin:

var sayi:uint= 4.3;
trace(sayi);


Ardindan “Crtl+Enter” yapinca sonuç olarak “4” çikacaktir.Noktadan sonraki 3 rakami otomatik olarak silinmistir. Ardindan 4.3 degerini silin ve yerine -5 yazin ve tekrar çalistirin. -5 sonucunu vermedigini görüceksiniz.


Number

Bu degisken tipi tüm rakamlar için kullanilabilir (pozitif (+),negatif(-),ondalikli ve 0).

Örnek: Actions panelini açin ve asagidaki kodlari yazin:

var sayi:Number= 4.3;
trace(sayi);


Ardindan “Crtl+Enter” yapinca sonuç olarak “4.3” çikacaktir.Ayni sekilde bütün pozitif ve negatif rakamlarini deneyebilirsiniz.Istediginiz sonucu verdigini göreceksiniz.




[size=large]String[/size]

Bu degisken tipi: Yazilarin ve harflerin kullanilmasi gerektiginde kullanilir.

Örnek: Actions panelini açin ve asagidaki kodlari yazin:

var yazi:String="merhaba oyun yapimcilari";
trace(yazi);


Ardindan “Crtl+Enter” yapinca sonuç olarak OUTPUT penceresinde “merhaba oyun yapimcilari” yazisinin yazdigini göreceksiniz.




Boolean

Bu degisken oyunlarin programlanmasinda sikça kullanilir.Bu degisken tipi 0,1 mantiksal degere göre deger alir.Yani toplam 2 deger alabilir.Bunlardan biri “true” digeri de “false”dir.

Örnek: Actions panelini açin ve asagidaki kodlari yazin:


var durum:Boolean=true;

if(durum){
trace("degiskenin degeri true'dur");

}else if(durum==false){
trace("degiskenin degeri false'dir");
}




Ardindan “Crtl+Enter” yapinca sonuç olarak OUTPUT penceresinde “degiskenin degeri true'dur” yazisinin oldugunu göreceksiniz.Sonra durum degiskenin degerini "false" yapin ve tekrar çalistirin.Bu sefer de output penceresinde “degiskenin degeri false'dir” yazisinin yazdigini göreceksiniz.



Array

Türkçesi Diziler’dir.Birçok degisken tanimlamamiz gereken bir durum oldugunda,bu kargasayi önlemek için, dizileri kullanabiliriz.Öncelikle dizi’yi su sekilde tanimlariz:
var degiskenin_ismi: Array=new Array(); ”. Bu dizimiz içine sonsuz miktarda deger alabilir.Eger dizi’yi sinirli miktarda deger almasini istiyorsak bunu, “ new Array(5); ” kismindaki parantezin içine alacagi deger sayisini belirtebiliriz.Örnegin ben 6 dedim.Yanlis duymadiginiz 6 dedim. “Ama bunun içinde 5 yaziyor?” diyorsaniz eger,size cevabim su olacaktir: “Dizilerde deger alimi 0’dan baslar (0,1,2,3,4,5 = toplam 6 tane).O nedenle parantezin içine yazilan sayi daima gerçekte bir fazlasidir.100 yazilmissa aslinda 101’dir gibi.” Simdi bu dizilerin ne ise yaradigini size karsilastirmali olarak göstereyim, örneklendireyim:

Örnegin bize, 5 ve 5’in katlarini barindiran, toplam 100 tane degisken olsun,her bir degisken, 5’in katlarindan olan bir sayiyi barindirsin ve bunlara istedigimiz zaman ulasip,içerigindeki rakamlari degistirebilelim.Bunu nasil yapabiliriz? Bunu 2 sekilde yapabiliriz:

1-)100 tane ayri ayri degiskenler tanimlayip, içerigine 5 ve 5’in katlari olan bir rakam degeri vererek yapabiliriz.

var ornek_1:int=5;
var ornek_2:int=10;
var ornek_3:int=15;
var ornek_4:int=20;
var ornek_5:int=25;
var ornek_6:int=30;
var ornek_7:int=35;
var ornek_8:int=40;
var ornek_9:int=45;
var ornek_10:int=50;
var ornek_11:int=55;
var ornek_12:int=60;
var ornek_13:int=65;
var ornek_14:int=70;
.
.
.

var ornek_99:int=495;
var ornek_100:int=500;


trace(ornek_9); // Sonuç 45 çikar;
trace(ornek_99); // Sonuç 495 çikar;



Böyle böyle toplam 100 tane degisken tanimlamamiz gerekirdi.Bu da, “fazladan emek+zaman kaybi ve kod karmasasi” demektir.Ya bizden 5’in katlari olarak 100 tane rakam degil de, 6.000 tane rakam istenseydi? Bu mantikla 6.000 tane degisken tanimlamak gerekecekti. :D


2-) Oysa biz, bir tane dizi degiskeni belirleyerek, ve bunu for() döngüsüyle destekleyerek, o kadar kod karmasasindan kurtulabiliriz:

var ornek:Array=new Array(99);


for(var i:uint=0;i<=100;i++){

ornek=i*5;
}


trace(ornek[9]); //Sonuç 45 çikar;
trace(ornek[99]); // Sonuç 495 çikar;



Yukaridaki kodla istegimizi gerçeklestiririz. 6.000 tane istenmesi durumunda,yukaridaki for döngüsündeki “i<=100” kodunu “i<=6000” seklinde degistirerek bu istegi gerçeklestirmis olurduk.


Ders-5 Nesneye Yönelik AS3


Hareket


yesil_kutu.x=… Bu kodla nesnenin x düzlemdeki (yatay) koordinatidir
yesil_kutu.y=… Bu kodla nesnenin y düzlemdeki (dikey) koordinatidir

Örnek: Önceki dersimizdeki gibi bir sey çizin ve instance name’sini de yazmayi unutmayin. Ben instance name’sinin “yesil_kutu” oldugunu farz ediyorum.Actions panelini açin (kod yazdigimiz bölüm).Bir önceki derste yazdigimiz kodlarin aynisini yazin ve “Crtl+Enter” diyerek örnegi görebilirsiniz.Ayni sekilde “yesil_kutu.x++;” kodunun asagisina “yesil_kutu.y++” yazarak da deneyebilirsiniz.Yani söyle olabilir:


function hareket(event:Event):void{

yesil_kutu.x++;
yesil_kutu.y++;
}


--> Yukaridaki kodu yazdigimiz zaman,nesnemizin asagi ve sag tarafa dogru ilerledigini görürsünüz.


Ders-4 AS3'e Giriş


 ActionScript 3.0 'a Giriş
Biz bir nesneyi(Movie Clip'i) programlarken o nesnelerin "instance name" bölümüne bir isim vermemiz gerekir.Bu ismi vermek için sag taraftaki Properties panelindeki "Instance Name" kutucuguna bir isim yazabilirsiniz.Ben "yesil_kutu" ismini yazdim.



Ders-3 Flash'a başlıyoruz


Ders-2 Flash ile İlgili Sık Sorulan Sorular

Program çok yaygın kullanıldığı için doğru bilgiye ulaşmak zor.Şimdi Flash ile ilgili merak edilen sorulara tek tek cevap vericeğim.

1-Flash 3d destekler mi?
Doğrudan olmasada evet,flash'a ekliyeceğiniz eklentilerle 3d uygulamalar yapabilirsiniz ama kalitesi tartışılır.
2-3d sağlayan eklentiler nelerdir?
away3d,flare3d,molehill,papervision3d,sandy3d olarak sayılabilir.
3-Flash ile online oyun yapılabilir mi?
Evet PHP ile flash bir servera bağlanabilir ama hızı inanılmaz düşük olur.

Ders-1 Flash Nedir?

Herşeyden önce birşeye açıklık getirmeliyiz.Flash nedir?Flash kelimesini çok sık duyduğumuz için bir anlam karmaşası vardır.Flash,oyun,video,animasyon,çizim yapımına yarıyan bir görselleştirme yazılımıdır.Görsel başarısı nedeniyle hem tasarımcılar hemde yazılımcılar tarafından aktif olarak kullanılmaktadır.En son sürümü şu an itibari ile Flash Professional CS5 dir.Program ActionScript dilini kullanır.Genel anlamda basit bir dildir.En son sürümü ActionScript 3.0 dır.



Yukarıda ise Flashtan bir görüntü mevcuttur.