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.
15 Ağustos 2012 Çarşamba
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.- Papervision3D
- http://blog.papervision3d.org/
- Away 3D
http://www.away3d.com/
- Sandy 3D
http://www.flashsandy.org/
- Alternativa Platform
http://blog.alternativaplatform.com/en/
- FIVe3D
http://five3d.mathieu-badimon.com/
- WireEngine3D (we3d) – Flash 09/08 için hafif ve hızlı 3D Motor.
http://osflash.org/we3d/
- Sharikura
http://temp.roxik.com/datas/physics/ - Infinity3d – rusca
http://www.infinity3d-engine.com - AS3Dmod – Flash için cross-motor 3d modifier kütüphane
http://code.google.com/p/as3dmod/ - nd3d – ND3D küçük ve hafif AS3 3D Motoru
http://code.google.com/p/nd3d/
3D Oyun motorları
- PaperWorld 3D
http://paperworld3d.com/ - Yogurt3D
http://www.yogurt3d.com/
2D Oyun Motorları
- Citrus Engine – Flash Sidescrolling Platform Oyun Motoru
http://www.citrusengine.com/ - FlashPunk – prototip ve oyunlar geliştirmek için hızlı bir motor
http://flashpunk.net/ - flixel – klasik flash oyunları için harika çözüm 3-4 saat içinde oyun yapabiliyorsunuz
http://flixel.org/ - PixelBlitz Engine -as3 oyun frameworku
http://www.photonstorm.com/pixelblitz-engine - PushButton Engine – Yeni nesil flash oyunları için super bir oyun motoru.Üstelik ücretsiz ve bir sürüde dersini bulabilirsiniz.
http://pushbuttonengine.com/
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
Flash AS3-Tam Ekran Yapmak
Merhaba Beyler.Flash'ı Android veya İos Sistemlerine veya herhangi mobil cihaza uygulama yapmak için kullanabilirsiniz.Bu durum farklı ekran boyutundaki cihazların uygulamanız ile problem yaşamasına neden olabilir.Şimdi size 3 satırda nasıl tam ekran yapacağınızı anlatacağım.
29 Mayıs 2012 Salı
Unity3D Yararlı Örnekler Arşivi
Merhaba Beyler Burada Unity3d ile İlgili Basit ama Önemli Dersler Paylaşacağim.Belli Bir Aşamaya Geldikten Sonra İzlemeniz Daha Yararlı Olabilir
Etiketler:
3d,
oyun motoru,
unity dersleri,
unity ile,
unity yapımı,
Unity3d
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.
10 Mayıs 2012 Perşembe
Yeni Başlayanlar İçin Oyun Programlama
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.
Etiketler:
animasyon yapmak,
anlatım,
blog,
ders,
Flash Oyun Yapımı,
flashta,
nasıl yapılır,
Oyun,
oyun nasıl yapılır,
Oyun Yapmak,
video
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
Etiketler:
3d,
fifa,
god of war,
gta,
gta nasıl yapılır,
mortal kombat,
nasıl,
Oyun,
yapılır,
yapmak
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.
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.
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
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
26 Nisan 2012 Perşembe
22 Nisan 2012 Pazar
CryEngine 3'e Google Sketchup'dan Model Aktarma
İmport Etmeyi En İyi Şekilde Anlatan Video;
13 Nisan 2012 Cuma
Oyun Sektöründen Para Kazanmak
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
Kendi Oyun Motorunu Yazmak Hakkında
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.
6 Nisan 2012 Cuma
4 Nisan 2012 Çarşamba
Oyun Motorları İndirme Linkleri
Etiketler:
download,
game engine,
link,
oyun motorları,
oyun motoru,
Oyun Motoru indir
1 Nisan 2012 Pazar
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
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)
Etiketler:
gta,
oyun nasıl yapılır,
oyun yap,
Oyun Yapmak,
pahalı oyunlar
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
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.
15 Mart 2012 Perşembe
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?
Etiketler:
fifa 12,
fifa 12 belgeseli,
mega fabrikalar,
oyun yapım
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;
Ö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:
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.
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.
Ş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:
Umarım işinize yarar
Ş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")); }
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
İ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 :
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);
Ama biz derece cinsinden istediğimiz için
doğru orantı ile dereceye çevirelim :
RandyanAci = Math.atan2(uz2,uz1);
DereceAci = RandyanAci*180/Math.PI;
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);
Dikkat : Burda çok önemli bir nokta var
var uz1:Number = x2-x1; var uz2:Number = y1-y2;
Bunun nedeni Flash’ın koordinat düzleminde 4.bölgede(sağ altta) olması
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.
24 Şubat 2012 Cuma
4 Şubat 2012 Cumartesi
Oyun Yapımına Yardımcı Siteler Listesi
Merhaba Arkadaşlar.
Sizin için bir liste hazırladım,listede size lazım olacak texture,model vs vs.siteleri bulacaksınız.
Listeye aşağıdan ulaşabilirsiniz.
3D Model Siteleri:
PlanIt 3D............3ds .max
ArchiDOM.........3ds .max
Honda Fan Site....lwo .dxf
3D-Xtra...............3ds
Sizin için bir liste hazırladım,listede size lazım olacak texture,model vs vs.siteleri bulacaksınız.
Listeye aşağıdan ulaşabilirsiniz.
3D Model Siteleri:
PlanIt 3D............3ds .max
ArchiDOM.........3ds .max
Honda Fan Site....lwo .dxf
3D-Xtra...............3ds
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
Oyun Yapım Videoları:Karakter Seslendirmeleri
İşte Kratos'u ve Captain Price'ı seslendiren insanlar.
Hep merak etmişimdir Captain Price'ı.
Etiketler:
animasyon,
animasyon yapımı,
kratos ses,
mocap,
motion capture,
oyun yapımı
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.
Etiketler:
animasyon,
animasyon yapımı,
kratos ses,
mocap,
motion capture,
oyun yapımı
Flash AS3-TextField Video Dersleri
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-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.
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:
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
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:
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

2-)Ayarları yaptıktan sonra 3 adet layer oluşturuyoruz.

1-)Flash'ı açıyoruz
2-)Ayarları yaptıktan sonra 3 adet layer oluşturuyoruz.
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:
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;
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;
Ş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;
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);
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);
Ö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.
//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:
Ö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.
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.
İşte bu kadar.
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 )

Window > Othet Panels > Scene ( Shift+F2 )
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.
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.
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
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.
İ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.
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.
Öncelikle daha önceki yazıda bahsettiğim gibi kodları Butonlara ya da Movie Cliplere yazamıyoruz.Her kodu frame e yazmak zorundayız.
- Butonumuz için gereken çizimi yapalım ve çizimi seçip F8 tuşuna basıp Butonumuzu oluşturalım.
- Buton yaptıktan sonra butonu seçip Properties panelinden Intance Name kısmına “oyunyapimcisi” yazalım.
- 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"); }
_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.

Bu yöntem sayesinde animasyon,oyun,bannerlarınızda sorun yaşamayacaksınız.
İyi Akşamlar 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.
Bu yöntem sayesinde animasyon,oyun,bannerlarınızda sorun yaşamayacaksınız.
İyi Akşamlar Arkadaşlar.
27 Ocak 2012 Cuma
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
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
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
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
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.
Math.random();
Bu fonksiyon 0’dan 1’e kadar rast gele sayi üreten fonksiyondur (örnegin 0.2,0.9,0.5 gibi).
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.
Ö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.
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.

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.
Etiketler:
actionscript 3 dersleri,
actionscript3,
as3 dersleri,
flash,
Flash AS3,
flash oyun nasıl yapılır,
Flash Oyun Yapmak,
oyun nasıl yapılır,
oyun yap,
oyun yapımcısı,
Oyun Yapmak
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.
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.
Etiketler:
actionscript 3 dersleri,
actionscript3,
as3 dersleri,
flash,
Flash AS3,
flash oyun nasıl yapılır,
Flash Oyun Yapmak,
oyun nasıl yapılır,
oyun yap,
oyun yapımcısı,
Oyun Yapmak
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
Etiketler:
actionscript 3 dersleri,
actionscript3,
as3 dersleri,
flash,
Flash AS3,
flash oyun nasıl yapılır,
Flash Oyun Yapmak,
oyun nasıl yapılır,
oyun yap,
oyun yapımcısı,
Oyun Yapmak
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
Etiketler:
actionscript 3 dersleri,
actionscript3,
as3 dersleri,
flash,
Flash AS3,
flash oyun nasıl yapılır,
Flash Oyun Yapmak,
oyun nasıl yapılır,
oyun yap,
oyun yapımcısı,
Oyun Yapmak
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.
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.
Etiketler:
actionscript 3 dersleri,
actionscript3,
as3 dersleri,
flash,
Flash AS3,
flash oyun nasıl yapılır,
Flash Oyun Yapmak,
oyun nasıl yapılır,
oyun yap,
oyun yapımcısı,
Oyun Yapmak