15 Ağustos 2012 Çarşamba

FPS Oyunlar Silah Animasyonları

Arkadaşlar Aşağıda Bazı Fps Oyunlarının Silah Animasyonlarına Göz Atabilirsiniz.FPS Oyunlar ile İlgilenenler İçin İyi Bir Kaynak Olacağını Düşünüyorum.



2 Temmuz 2012 Pazartesi

Flash AS3:Kod Kütüphaneleri

3D Flash Engines (Motorları)

3 boyutlu nesneleri flash içerisinde kullanabilmemize olanak tanıyan bu kütüphaneler ücretsizdir.

3D Oyun motorları

2D Oyun Motorları

24 Haziran 2012 Pazar

CryEngine 3:Yeni Fizik Motoru

                       En Son CryEngine 3 Sürümünde Mevcut Olan Fizik Motoru.

2 Haziran 2012 Cumartesi

12 Mayıs 2012 Cumartesi

Oyun Yapım Hikayeleri-Skyrim Yapım Videosu



 Detaylar...İnanılmaz detaylar.oyuncunun toplamda üç saniye şahit olacağı bir sahne için günlerce yazılan kodlar..Derinlik..Mükemmel Grafikler..İnanılmaz Müzikler.

 Skyrim'i eşsiz kılan özellikler gerçekten çok fazla.Şimdi böyle bir şaheserin yapılış hikayesini görelim.



   http://www.pckoloji.com/wp-content/uploads/skyrim4.jpg

10 Mayıs 2012 Perşembe

Yeni Başlayanlar İçin Oyun Programlama

http://cdn.int.xboxgaming.co.za/images/games/1397/7045.jpg


Merhaba Beyler,

Eğer bu başlığıa tesadüfen gelmediyseniz size anlatmak istediklerim var.Oyun yapmayı hiç bilmiyor,az biliyor,hevesli veya "bakıp çıkıcı"ysan sana hemen özet geçeyim.

Oyunlar "oyun motoru" denilen programlarda yapılırlar.Ek olarak fizik motoru,grafik motoru kullanılabilir(ama sene 2012 olduğu için artık oyun motorlarının içinde kendi fizik ve grafik motorları mevcut.).Eğer oyun motorları nasıl yapılır dersen,boşver.Çünkü eğer bu yazıyı okumaya devam edicek kadar "yeni" isen,2 boyutlu çok çok basit bir oyun motoru yazmana en az 3 sene daha var demektir.

8 Mayıs 2012 Salı

3DS Max-Pelerin Yapmak

PELERİN CANLANDIRMASI

3dsmax ile ucan Super Kahramanın pelerinini Reactor cloth ve reactor eklentileri ile canlandırılması.


MERHABA ARKADAŞLAR.
Bu ilk dersimde sizlere reactor ile Süper Kahraman Pelerin canlandırmasını anlatmaya çalışacağım.
İlk önce soldaki menuden CLCollection ve DMCollection parametrelerini sahnemize koyalım.
DMCollection : Bizim superkahramanımızın hareketlerinin pelerin uzerindeki etkisini hesaplar.
CLCollection: pelerinin cloth simulasyonunu hesaplar.

Şimdide pelerinin Cloth etkisini göstermesi için pelerine modifier kısmından reactor Clot Modifieri listeye eklenir.

3DS Max-Kısa Sürede Gerçekçi Saç Yapmak

Modifier menüsünden "Model Hair" seçeneğini seçiyoruz veçizgi kullanıma hazır hale geliyor.  
Yine modifier penceresinin alt kısmından Hair to Hair Coordsys seçeneğiile diğer saçların buna uyumlu haraket etmesi gerektiğini belirtiyoruz.

Oyun Yapım Videoları Arşivi

İşte Ünlü Oyunların Yapılış Aşamaları:
http://upload.wikimedia.org/wikipedia/en/d/d1/Call_of_Duty_2_Box.jpg





2 Mayıs 2012 Çarşamba

Flash AS3 ile Android'e Oyun Yapmak

Merhaba Beyler,
Bu blogtaki derslere az da olsa zaman ayırdığınızda flash ile ilgili bir fikriniz oluşur.Şimdi Flash'la nasıl android'e oyun yapıp,android markete ekliyeceğinizi anlatan bir video izleyeceksiniz.Gönül isterdi ki bunu ben hazırlayayım.Ama Android ile ilgili yeteri kadar bilgiye ve zamana sahip değilim.Android'i bende sizinle birlikte öğreneceğim.

CryEngine 3 ile Sıfırdan RTS Oyun Yazmak

UDK Dersleri-166 Saat

Dosya biçimi Windows Media Video (Wmv) olduğu için, başka hiçbir codec gerekli değildir.

Skeleton Mesh Pipeline - UDK Kullanma
Jeremy Ernst, Epic Games'in Teknik Animatörü, Unreal Engine Skeleton Mesh Pipeline'ı anlatıyor. Modelinizi 3D paketinizden editöre almaktan, kodlama için hazır hale getirene kadar anlatılan adımlar sizi oyununuzu bitirmeye bir adım daha yaklaştıracak.
Her sıkıştırılmış arşiv bir video içermektedir:

* Skeletal Mesh'ler: Giriş
* Skeletal Mesh'ler: Skeletal Mesh'leri Import / Export etmek
* Skeletal Mesh'ler: Mirror Table'ları
* Skeletal Mesh'ler: Soketler
* Skeletal Mesh'ler: Physics Asset'leri


CryEngine 3-3DS Max Karakter Animasyonu Rig ve Export

CryEngine 3'e 3DS Max'den Model İmport Etmek

13 Nisan 2012 Cuma

Oyun Sektöründen Para Kazanmak

http://oyster.ignimgs.com/ve3d/images/07/32/73230_CallOfDutyBlackOps-Artwork-02.jpg



Merhaba sizlerle bir konu hakkında bilgi ve görüşlerimi paylaşmak istiyorum.

Bu konu amatör oyun yapımcılığı ve oyun yapımı ile para kazanma yöntemleri.
Konuda göründüğü gibi ele alacağım fikir "amatörlük" bu yüzden oyun yapımından milyarlar kazanan şirketlerden veya o çapta iş gören insanlardan bahsetmeyeceğim.

Büyük Düşünenler İçin:
http://oyunyapimcisi.blogspot.com/2012/03/oyun-yapm-yapm-en-pahal-10-oyun.html



Neyse ben küçük düşünen panpalarım ile devam edeyim,

7 Nisan 2012 Cumartesi

3ds Max-Ders Arşivi


Kendi Oyun Motorunu Yazmak Hakkında

http://www.aysohbet.net/wp-content/uploads/2012/01/sonbahar-manzara.jpg
Hani Bazen Bi Sigara Yakarsın."Boşver Düşünme" Dersin



Çok sık duyduğum ve artık gerçekten sıkılmaya başladığım bir konu hakkında kısa bir yazı yazmak istedim.
Oyun yapımı ile biraz ilgilenen(veya  öyle  görünen) insanlar buldukları bütün platformlarda "kendi oyun motorunu yazmazsan kendi oyununu yapamazsın" ,"istediğin kadar oyun yap senin değil o","motoru yaz da gel" tarzı başlıklarla insanların heveslerini sömürmeye devam ediyorlar.

Bildiğiniz gibi Türkiye'de "oyun" daha emekleme aşamasında.Durum ülkemizde böyleyken evinde 1.5 saati boş olan,onuda facebook'ta okey oynamak yerine "iki satır kod yazayım,şöyle basit bir oyun yapayım,bi model yapayım" diye kendini geliştirmeyen harcayan insanlara "motor nerde"  demek motorluktan farksızdır kanaatimce.Olayın teknik açısından bakmama gerek yok sanırsam.İmkan yetersizlikleri,oyun yapımının "hobi" olarak görülmesi zaten oyun motoru yazmayı imkansız kılan,imkansız olmasa bile bug'lar ile dolu,kullanışsız,gereksiz bir programdan ibaret olmasına neden olacaktır.

28 Mart 2012 Çarşamba

3DS MAX Ders Arşivi-2

3DS Max Temel Dersler

3DS Max'a Giriş
Açıklama:Herkeze Merhaba.Bu derste 3DS Max'ın menülerinden Kısayol tuşlarından bahsettim.Özellikle daha önce Hiç 3dsmax Deneyiminiz olmadıysa Çok işinize yarayabilir.Bazı ayarlamalar ve tercihleri yapmayıda gösterdim.Metric sistem vs.
Link:3DS Max'a Giriş

3DS Max Kopyalama İşlemi ve Diğer İşlevleri
Açıklama:Herkeze Merhaba.Bu dersimizde 3DS Max'te kopyalama işlemini ve diğer işlevlerini öğreneceğiz.Referans alma,Taklit etme,Çoklu kopyalama hakkında bilgi edinebilirsiniz.
Link:3DS Max Kopyalama İşlemi ve Diğer İşlevleri

3DS Max Araçlar ve Kullanımları By MasterTech
Açıklama:Herkeze Merhaba.Bu dersimizde 3DS Max'te bulunan bazı temel araçların kullanımını öğreneceğiz.Pek çok araç var hepsini tek seferde öğrenmemiz mümkün değil.En Temelden Başlamak istedim.Umarım yararlı olur.
Link:3DS Max Araçlar ve Kullanımları By MasterTech

23 Mart 2012 Cuma

Oyun Yapım-Yapımı En Pahalı 10 Oyun

 http://media.gtanet.com/images/4310-gta-iv-artwork.jpg


10. Killzone 2 (45 milyon Dolar)

Bilirsiniz yapım süresi uzadıkça maliyette artar. Killzone 2′nin durumu da aslında bundan ibaret. 20 milyon $ bütçeyle yapımına başlanan oyun için harcanan para, dört yıl içinde 40 milyon doları bulmuş.
9. Final Fantasy XII(48 milyon Dolar)

Playstation 2 için 2006′da piyasaya çıkan Final Fantasy XII, Japonya’dan çıkan en bütçeli oyunlardan biri olsa da, bu sene piyasaya çıkan XII’ün bütçesinin %50 daha fazla olduğu söyleniyor ancak resmi bir bilgi yok.
8. LA Noire (50 Milyon Dolar)

16 Mart 2012 Cuma

Flash AS3-Tam Ekran Yapımı

Flash ve ActionScript kullanarak geliştirdiğimiz uygulamarı tam ekran olarak görüntülemek istediğimizde birçok sorun yaşarız ve uygulamamız tam ekran modunda istediğimiz gibi görüntülenmez.


Bu örneğimizde hem uygulamamızı tam ekran modunda görüntülemeyi hem de tam ekran modunda sahne üzerindeki nesneleri nasıl konumlandıracağımızı yani RESIZE metodunun kullanılmasını ele alacağız.

Yeni bir döküman açalım ve ilk olarak arkaplan olarak kullanacağımız bir görseli File > Import to Stage menüsünü kullanarak uygulamamıza aktaralım ve boyutunu sahnemize göre ayarlayalım.

4 Mart 2012 Pazar

Oyun Yapım Videoları-Fifa 12 Yapım Belgeseli


 National Geographic, Mega Fabrikalar başlığı altında EA Kanada'yı ziyaret etmiş ve bir belgesel çekmiş. İşte o belgeseş. Dikkatli izleyin, FIFA serisi, işte bu çatı altında geliştiriliyor. Kim böyle bir firmada çalışmak istemez ki?

1 Mart 2012 Perşembe

Flash AS3-Motion Blur Efekti

Bir cismin yaptığı hareket ile yapay olarak blur(bulanıklık) etkisi alması, animasyonlarda sık kullanılan bir -gerçekçi hızlı obje görüntüsü- elde etme yöntemidir. Bu efekti oluşturmada temel mantık cismin blur değerinin hareket ivmesiyle orantılandırılmasıdır. Böylelikle cisim belirli bir zamanda ne kadar hızlanırsa yani ivmesi ne ise blur değeri de onu referans alarak oranlanır. Önce anlatmaya çalıştığımız şeyle ilgili örnekleri görelim;

http://www.flashdersleri.net/wp-content/uploads/2010/01/blur1.swf
http://www.flashdersleri.net/wp-content/uploads/2010/01/blur2.swf




Örneklerde de görüldüğü gibi cisimler ne kadar hızlanırlarsa o kadar motion blur etkisi alıyor ve daha gerçekçi animasyonlar oluşuyor ( Bu iki örnekte amacı daha iyi belirtmek için blur değerleri biraz abartılı verilmiş olabilir. Siz bunu ivme değerini küçülterek değiştirebilirsiniz.)
İlk örneği yapabilmek için sahneye “a_mc” isminde bir araç klibi koyuyoruz. Kullandığımız kodlar ise aynı satırdaki açıklamalarıyla birlikte şunlardır:



var blur = new BlurFilter();/*yeni bir blur filtresi oluşturduk*/
var drc:Number/*ivme değeri*/
var hdf:uint=470/*aracın ulaşacağı hedef x konumu*/
var ilk:Number=a_mc.x/*işlemi tekrarlamak için ilk konum değeri*/
 
stage.addEventListener(MouseEvent.MOUSE_UP,git)/*sahneye tıklama fonksiyonu çağırıldı*/
function git(e:MouseEvent){
a_mc.x=ilk/*ilk durumda a_mc'yi ilk konuma koyduk ki her seferinde buradan başlasın*/
a_mc.addEventListener(Event.ENTER_FRAME,ef)/*sürekli çalışacak fonksiyonu çağırıyoruz*/
}
function ef(e:Event){
drc=(hdf-a_mc.x)/10/*ivme, hedefle mevcut konum arasındaki uzaklıkla orantılı*/
a_mc.x +=drc/*her framede ivme değeri kadar x konum artışı*/
blur.blurX =drc*2/*x ekseni blur değeri ivme ile orantılı*/
blur.blurY =0/*blur y olmasın*/
a_mc.filters = [blur];/*a_mc'ye blur filtresi atanıyor*/
}
 
 

Flash AS3-Kaydırma Çubuğu ScrollBar Yapımı

Bu yazıda herhangi bir flash componenti kullanmadan basit bir scrollbar(kaydırma çubuğu) hazırlamaya çalışacağız. Önce bir scrollbar oluşturmak için sahneye biri diğerinin üzerinde iki çubuk ve scrollbar hareketlerine göre konumu değişecek nesneyi çiziyoruz. Bunlara kodlarla işlem yaptırmak için “cbk_ust”, “cbk_alt” ve “alan” instance name’lerini veriyoruz.
Şimdi kodlamalarda ilk adım olarak üst çubuğun(cbk_ust) boyunu “alan”ın boyuna göre orantılamamız gerekiyor. Böylece alanın boyu(height) ne kadar uzun olursa cbk_ust’un boyu da cbk_alt’a oranla o kadar küçülecektir.



cbk_ust.height=cbk_alt.height/alan.height*cbk_alt.height


Bu kodda cbk_alt’ın(alan’ın sahnedeki görünecek kısmının) uzunluğun alan’ın tamamına oranını bir değer olarak kabul edip bunu cbk_ust’un cbk_alt’a oranına atıyoruz. Böylece alan’ın boyuna göre cbk_ust’un boyu değişiyor.
Şimdi de cbk_ust’u taşınabilir yapmamız gerekiyor.
 

Flash AS3-MSN Ekle Butonu Yapımı

Yazdır Butonu Yapımından Sonra İhtiyacınız Olabilecek Bir Prototip...


Şimdi ilk olarak File-New-Flash File(Action Script3) olarak yeni
bir sayfa açalım.Açtıktan sonra sahneye bir kare çizelim sonra f8 tuşuna basıp bunu movie clip yapalım. Movie Clip seçiliyken properties penceresinden Instance Name kısmına “msn_ekle” yazalım.Msn ekle butonumuzu yapmış olduk.Şimdi frameyi seçin f9 tuşuna basın aşağıdaki kodları yazın.
KOD:
msn_ekle.addEventListener(MouseEvent.CLICK,tiklama);
function tiklama(e:MouseEvent):void{
navigateToURL(new URLRequest("msnim:add?contact=oyunyapimcisi@oyunyapimcisi.com"));
}
Umarım işinize yarar

Flash AS3-İki Nokta Arasındaki Açı


Bu derste iki nokta arasındaki açıyı hesaplamayı anlatacağım.
Yine oyunlarda çok çok kullanılar bir prototip…
İki nokta arasındaki açıyı bulmak için, iki noktanın x ve y değerlerini bilmemiz gerekir.
Bu değerler:
var x1:Number = 20; //Birinci x değeri
var y1:Number = 20; //Birinci y değeri
var x2:Number = 30; //İkinci x değeri
var y2:Number = 30; //İkinci y değeri
 
var uz1:Number = x1-x2; //1. Uzunluk
var uz2:Number = y1-y2; //2. Uzunluk
olsun.
İki nokta arasındaki açıyı bulmak için tanjant fonksyonunu kullanacağız.
Tanjant, açının karşısındaki uzunluk bölü komşu uzunluktur :
pisagor
tan(aci) = uz2 / uz1
Açıyı bilmediğimiz ve uzunlukları bildiğimiz için arctanjant (ters tanjant) ı kullanmalıyız.
Buna göre matematiksel olarak  :
tan(aci) = uz2 / uz1
ise
arctan(uz2 / uz1) = aci
dır.
Şimdi bunu Flash as3 olarak yazalım:
Math.atan2(uz2,uz1);
Flashta değerler Radyan olarak geri döner
Ama biz derece cinsinden istediğimiz için
doğru orantı ile dereceye çevirelim :
RandyanAci = Math.atan2(uz2,uz1);
ise
DereceAci = RandyanAci*180/Math.PI;
dir.
Son olarak kodumuz :
var x1:Number = 20; //Birinci x değeri
var y1:Number = 20; //Birinci y değeri
var x2:Number = 30; //İkinci x değeri
var y2:Number = 10; //İkinci y değeri
 
var uz1:Number = x2-x1;
var uz2:Number = y1-y2;
 
var RandyanAci:Number = Math.atan2(uz2,uz1);
var DereceAci:Number = RandyanAci*180/Math.PI;
trace(DereceAci);
Olacaktır.
Dikkat : Burda çok önemli bir nokta var
var uz1:Number = x2-x1;
var uz2:Number = y1-y2;
Yazarken x1-x2 değilde x2-x1 yazdık; (Flash’ı günlük kullandığımız koordinat düzlemine benzetmek için)
Bunun nedeni Flash’ın koordinat düzleminde 4.bölgede(sağ altta) olması
g1
Yani asıl denklem (Kağıt üzerinde işlem için)
var uz1:Number = x1-x2;
var uz2:Number = y1-y2;

şeklinde olmalıdır.
Not : Yazdığım kodda açı hesaplanırken x1,y1 orjin olarak kabul edilir.

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.

    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.