SON GÜNCELLEME: 11.09.2014

  • Unity’i ücretsiz olarak nereden indirebilirim?

Tabi ki kendi sitesinden: http://unity3d.com/unity/download

  • Unity ücretsiz mi?

Evet, Free sürümü ücretsiz. Pro sürümü ise yaklaşık $1,500.

Free sürüm ile sadece PC’ye değil, aynı zamanda Android’e, iOS’a, Windows Phone 8.1’e, BlackBerry’e ve WebGL’e de oyunlarınızı ücretsiz bir şekilde çıkarabilirsiniz. iOS’a build almak için MAC, Windows Phone 8.1’e build almak için ise minimum Windows 8 gereklidir haberiniz ola.

  • Free sürümde yaptığım oyunları yayınlayabilir ve onlardan para kazanabilir miyim?

Kesinlikle evet! Free sürümde oluşturduğunuz oyunlardan dilediğinizce para kazanabilirsiniz. Bu paradan Unity Technologies’e tek kuruş komisyon ödemiyorsunuz.

  • Free ve Pro sürümleri arasındaki farklar neler?

Unity’nin kendi sitesinden iki sürümün karşılaştırılmasını inceleyebilirsiniz: http://unity3d.com/unity/licenses

Kullanıcının gözlemleyeceği en büyük fark, oyunun başında çıkan Unity logosunu Pro sürümde değiştirebiliyor olmanız. Sırf bunun için Unity’yi crack’lemeye değeceğini düşünmüyorum.

  • Crack’li Unity ile yaptığım oyunu yayınlasam sorun olur mu?

Sorun çıkması riski var, evet. Sonuçta illegal bir şekilde Unity’nin tüm özelliklerinden faydalanıyorsunuz. Yakalanır mısınız orası meçhul. Bence Free sürümü kullanın.

  • Unity’e yeni başladım ve daha hiçbir bilgim yok. Sizce nasıl bir yol izlemeliyim?

Eğer oyun sektöründe ciddi işlere imza atmak istiyorsanız önce İngilizce öğrenin. Piyasada istemediğiniz kadar İngilizce Unity dersi var. Kendi derslerim arasından ise şöyle bir yol çizebilirim:

1) https://yasirkula.com/2011/08/28/unity%E2%80%99nin-orijinal-baslangic-tutorialleri-%E2%80%93-simdi-tamamen-turkce/

2) https://yasirkula.com/2011/09/07/unitynin-orijinal-baslangic-tutorialleri-2-tamamen-turkce/

3) https://yasirkula.com/2011/08/09/caylaklar-icin-unityscripte-javascript-baslangic-kilavuzu-hicbir-programlama-gecmisi-gerekmez/

4) https://yasirkula.com/2014/05/17/klonluyoruz-unity-3dde-flappy-bird-yapimi/

5) https://yasirkula.com/2013/07/24/unityde-pong-oyunu-tasarlamak-ceviri-ders/

6) https://yasirkula.com/2013/07/27/unityde-tower-defense-kule-savunmasi-oyunu-tasarlamak-ceviri-ders/

7) https://yasirkula.com/2014/07/07/unity-c-tps-oyunu-yapimi-ceviri-projesi/

Size en büyük tavsiyem Unity öğrenirken bir Word belgesine yeni gördüğünüz kodları, fonksiyonları, faydalı ipuçlarını vb. açıklamalar eşliğinde not alın ve bu belgeyi arada bir okuyun. Bu yöntem bende işe yarıyor, umarım sizde de yarar.

  • Javascript (Unityscript) mi C# mı?

Bence C#. Bundan böyle hiçbir oyunumda da Javascript kullanmayacağım. Neden derseniz: genellikle plugin’ler C# dili ile yazılmış oluyor ve Javascript’ten C#’a erişmek Unity’de biraz sıkıntılı. Onun haricinde interface’ler, abstract class’lar Javascript’te mevcut değil.

Javascript’in daha başka dezavantajları da var ancak aklıma gelmiyor. Javascript’in tek avantajı kod yazarken bazı konularda size kolaylık sağlaması ama bence bu kolaylığa değmez.

Javascript ile C# arasındaki temel farklara değindiğim bir yazı var, onu incelemek isteyebilirsiniz: https://yasirkula.com/2013/08/21/unityde-javascript-unityscript-ile-cin-birbirinden-farklari/

  • Hiç kod bilgim yok. Unity’den önce Javascript öğrensem işime yarar mı?

Büyük olasılıkla hayır. Normal Javascript bir web programlama dilidir ve syntax’ı, veri türleri Unity’deki Javascript’ten (Unityscript) oldukça farklıdır.

Javascript öğrenmenizi önermem ama eğer isterseniz C# öğrenebilirsiniz ve bunun size gerçekten faydası da olur. Tabi çok ileri düzey C# öğrenmenize gerek yok. Syntax aşinalığı, koşullar, döngüler vb. öğrenmeniz yeterli. Sonuçta Unity’de kod yazarken hemen hemen hep Unity’nin MonoBehaviour kütüphanesini kullanacaksınız. Asıl önemli olan bu kütüphanenin sahip olduğu fonksiyonları, değişkenleri vb. öğrenmek ki o da ders izleye izleye, takıldığınız noktaları araştıra araştıra olacak olan birşey.

  • Kod yazarken hangi programı kullanıyorsun?

Notepad++ kullanıyorum. Programın iyi yanı çok hızlı çalışması. Ancak çeşitli sebeplerden ötürü bu programı sadece ileri düzey kullanıcılara tavsiye ederim.

Unity’de Notepad++ kullanmak için: https://yasirkula.wordpress.com/2012/08/01/unity-3d-script-editoru-olarak-notepad-kullanmak/

Visual Studio kullanıyorum. Programın ilk açılışının yavaşlığı hariç Intellisense ve auto-format özelliklerinden fazlasıyla memnunum.

  • Oyunumu Google Play’e koyacağım ama yıllık $25 ödemem gerekiyor, doğru mu?

Hayır. $25 ücreti sadece üye olurken ödüyorsunuz. Ondan sonra bir ücret ödemiyorsunuz.

  • Android oyunumda hangi reklam platformunu kullanmalıyım?

Ben Admob kullanıyorum ve memnunum. Diğer reklam platformlarını hiç kullanmadığımdan onlar nasıldır kesin birşey diyemem.

Admob kullanıyordum ve memnundum. Ancak başıma gelen bir olaydan sonra artık oyunlarımda Admob’u tek başına kullanmayacağım. Şu anda Heyzap mediation ile birlikte Chartboost, Unity Ads ve Facebook Audience Network (banner için) kullanıyorum. Eğer ilgilenirseniz, Heyzap aynı zamanda Admob da destekliyor.

yorum
  1. yusuf dedi ki:

    google play developer hesabı $15 değil $25 dolar. yanlış yazılmış

  2. serkan dedi ki:

    başka reklam çeiştleri var chartboost vs.Bunlar hakkında bilgin varmı? admob kötü diyorlar hesap bazen kapanıyormuş. İos içinde bi uygulama yayınlama dersi yaparsan çok memnun olurum iyi çalışmalar.

  3. Berk dedi ki:

    hocam enteresan bir durum var grafiklerde, araba ileri gittikçe grafikler görünüyor bazı yerler kayboluyor yani önde bina var gostermıyor anca dıbıne gırdıkçe yavaşça açılıyor ve bu oyunun kalitesini cok bozuyor nasıl düzeltebilirim

  4. altugtunca dedi ki:

    hocam ben araba oyunu yapıyorum oyun sadece düz yoldan oluşuyor bu yolu nasıl sonsuz yapabilirim

    • yasirkula dedi ki:

      Geride kalan yolları ileriye ışınlayarak olur herhalde. Bununla ilgili internette İngilizce video dersler vardır muhakkak.

      • altugtunca dedi ki:

        dediğim gibi aradım ama bulamadım ıstriggerenter fonksiyonlarıyla yapmaya calıstım ama kod bilgim fazla olmadıgı için yapamadım

      • yasirkula dedi ki:

        Google’da veya Youtube’da “Unity infinite runner tutorial” ya da “Unity endless runner tutorial” diye arayınca sonuçlar çıkıyor, işte o tutoriallerden faydalanabilirsiniz.

  5. Onur dedi ki:

    Merhaba iyi günler ben unity de third person shooter tarzı bir oyun hazırladım ancak karakteri takip eden kamera nesnelerin için geçiyor bunu nasıl engeleyebilirim şimdiden teşekkürler

    • yasirkula dedi ki:

      Raycast ile yapıyorlar da detaylı bir şekilde yapılış yöntemini bilmiyorum. “unity how to stop camera going through walls” gibi bir arama yapabilirsiniz.

  6. Ahmet dedi ki:

    hocam merhaba,bir şeyi beceremedim bir tane obj modeli import ediyorum zemin tarafına texture atıyorum ama nedense istediğim gibi olmuyor araba modeli seçmek için showroom yapmaya çalışıyorum beceremedim 😦

  7. Ahmet dedi ki:

    Hocam model hazırlamak için bir tool varmı? örneğin ben sahneye bir tane Cylinder atıyorum onu büyüttükçe köşeler belirgenleşiyor tam yuvarlak olmuyor nasıl yaparız?

  8. Onur dedi ki:

    Hocam merhaba ben bir obje oluşturdum bu objeyi destroy koduyla yok ediyorum ama sahneyi değiştirip tekrar geri geldiğim bu obje tekrar aynı yerinde duruyor yani sahneler arası geçişlerde bu nesneyi tamamen nasıl silebilirim ?

    • yasirkula dedi ki:

      Elinizde static bir boolean değişken olabilir. Bunun değeri true ise objeyi Start fonksiyonunda yokedersiniz, false ise etmezsiniz. Objeyi Destroy ile yokettikten sonra değişkeni elle true yaparsınız.

  9. djonur1997 dedi ki:

    Hocam merhaba ui buttonu kod ile nasıl yok edebilirim internetten araştırdım şu şekilde çıkıyor ama hata veriyor : RectTransform.Find(“Button”).renderer.enabled = false;

  10. djonur1997 dedi ki:

    Kusura bakmayın dediğinizi anlamadım ve butonu bir objeye atadığımda buton yok oluyor

    • yasirkula dedi ki:

      Çok çok basit birşeyden bahsetmiştim, anlamadıysanız gerçekten Unity’de kod yazmayı daha iyi öğrenmeniz lazım. Sizin için sadece şimdilik iyice basitleştireceğim:

      public var buton : GameObject ;

      function Start()
      {
      Destroy (buton) ;
      }

      Üstteki kod butonu oyunun başında yok eder. Butonu Inspector’dan değer olarak vermeniz lazım.

  11. djonur1997 dedi ki:

    Bilkent te bölümünüz nedir ?

  12. djonur1997 dedi ki:

    Oyunu yaptıktan sonra mobilde açınca unity nin kendi reklamı çıkıyor bunu kapatmanın bir yolu var mı yoksa illa satın mı almak gerekiyor

  13. djonur1997 dedi ki:

    Oyuncunun obje ile çarpışması ve yeni levele geçmesi
    function OnTriggerEnter(player:Collider){
    Application.LoadLevel(“Yenilevel”);
    }
    yanlış yazmadıysa bu şekilde. ben bunu nasıl yazarsam obje ile obje çarpışınca level atlar mesela obje 1 ile obje 2 çarpışacak Yenilevel açılacak şimdiden teşekkürler

    • yasirkula dedi ki:

      Yazdığınız bu kodu obje1’e verin. Sonrasında kodu şu şekilde düzenleyin:

      if( player.gameObject.name == “obje2” )
      Application.LoadLevel(“Yenilevel”);

  14. djonur1997 dedi ki:

    Dediğinizin aynısını yaptım fakat BCE0044 : unexpected char : 0x201C hatası çıkardı

  15. muhammed dedi ki:

    Bir araba yarisi projesi uzerinde calisiyorum. Arac secim menusu nadil yapilir acaba? Bu arada cok tesekkurler sitedeki paylasimlariniz icin cok isime yariyor.

  16. Merhaba Hoca bir soru sormak istedim. Bir RPG oyunu yapmak istiyorum ama görev alma olayını bilmiyorum. Sizin tps zombi oyunu dersini okudum kamera, düşman vurma, düşman saldırısı, harita yapımı vb şeyleri anladım ama görev almayı anlatırsanız çok sevinirdim. mesela böyle bir görevin olmasını isterdim: (1 kadın var köyüne gitmek istiyor ama ormanda canavarlar var ve bize onları öldürmemizi istiyor bizde öldürüyoruz ve kadın köyüne gidiyor.) böyle basit bir görevi nasıl yapa bilirim?

  17. Onur dedi ki:

    Hocam merhaba ben obje1 ile obje2 yi çarpıştırıp obje3 ün oluşmasını istiyorum bunu kodla nasıl yaparım

    • yasirkula dedi ki:

      obje1 ve obje2’de Collider olmalı, fizikle hareket ediyorlarsa Rigidbody olmalı (en az birinde Rigidbody olması zorunlu zaten). Sonra örneğin obje1’e şuna benzer bir kod vermelisiniz:

      public var obje3Prefab : GameObject;
      public var obje3OlusmaYeri : Vector3;

      function OnCollisionEnter( c : Collision )
      {
      if( c.collider.name == “obje2” )
      Instantiate( obje3Prefab, obje3OlusmaYeri, Quaternion.identity );
      }

  18. djonur1997 dedi ki:

    Hocam objeyi nasıl yok ediyoduk gameObject.Find(“obje”) = true; şu şekilde miydi

  19. Bulent dedi ki:

    Yasir’cim yazdıgım text’ler mobil cihazlarda kucuk gozukuyor .. nasıl ayarlayabilirim.

  20. TaRmAnYa dedi ki:

    Merhaba Yasir Hocam. Benim sorum şu diyelim ki bir duvar yaptık. Önüne karakterimizi arkasına düşmanımızı koyduk. Düşmana yapay zekasını verdik ama bu düşman bizi duvarın içinden geçmeye çalışır bir şekilde takip ediyor. Böyle değil de duvarın etrafından dolanarak bize ulaşmasını sağlayacak yapay zeka yı nasıl yazarım. Elinizde bir dersi, bir anlatımı mevcutsa lütfen yardımcı olun. C# Tps dersleri için gerçekten yararlı olacaktır.
    Not:Soruyu yanlış yerde sorduysam kusura bakmayın.

  21. TaRmAnYa dedi ki:

    Peki, araştıracağım. Çok sağolun.

  22. djonur1997 dedi ki:

    Hocam merhaba şimdi sürekli ölünen zor bir oyun yapsak o sahneyede reklam koysak oyuncu sürekli öldüğü için reklam tekrarlansa bu şekilde daha fazla para kazanılır mı

  23. djonur1997 dedi ki:

    Hocam bilkente kaç bin de gittiniz bende bilgisayar mühendisliği istiyorum da

  24. Bulent dedi ki:

    Oyun bittikten sonra ki skoru ana menudeki toplam skor alanına nasıl ekleyebilirim ?

    • yasirkula dedi ki:

      Oyunda yaptığımız skor değişkeni static olabilir. Böylece o skora direkt script adıyla erişebiliriz. static keyword’ünü araştırabilirsiniz.

  25. Bulent dedi ki:

    Peki kaynak varmı sorunum için bilginiz yazdıgım kodlarla oyun sonundaki skroun aynısını yazıyor ana menudeki skorda ben ana menudeki skora oyun bittikten sonraki skorda eklensin istiyorum 🙂

    • yasirkula dedi ki:

      Ana menüde yazan skor anaMenuSkor olsun ve bu static bir değişken olsun. Oyun sırasında elde ettiğimiz skor ise oyunSkor olsun (bu static olmasa daha iyi olur). Bu durumda, oyun bitince AnaMenuScript.anaMenuSkor += oyunSkor yapacaksınız.

      static terimini kendiniz araştırıp kolayca bulabilirsiniz. Lütfen verdiğim örnek kodu direkt yazıp da “kodu yazdım hata verdi” şeklinde yanıt vermeyin, kendiniz halledin.

  26. Bulent dedi ki:

    UI textleri her ekran cozunurlugune gore nasıl ayarlayabilirim ?

  27. djonur1997 dedi ki:

    objeye rigidbody ve colider eklememe rağmen cismi sürekleyemiyorum ne yapmam gerek

    • yasirkula dedi ki:

      Freeze Position ve Freeze Rotation’da herhangi birşeyin işaretli olmamasını sağlayın ve objeye uyguladığınız güç miktarını artırın.

  28. Osman dedi ki:

    C# De High score sistemi nasıl oluyor ?

    • yasirkula dedi ki:

      Yine PlayerPrefs.SetInt ve PlayerPrefs.GetInt fonksiyonlarını kullanabilirsiniz. Daha detaylı (ve güvenli) bir sistem için araştırma yapmanız lazım; ben de başka bir sistem bilmiyorum.

  29. djonur1997 dedi ki:

    Hocam merhaba bir objenin ben ona başka bir komut verene kadar aynı doğrultuda gitmesi istiyorum bunu nasıl yaparım

  30. Osman dedi ki:

    Peki oyun bittikten sonra diğer sahneye geciyor ve o sahnede puan vs butonlar var birde restart butonu var restarta basınca onceki sahneye nasıl gelebilrim ?

  31. Osman dedi ki:

    Fakat bende birden fazla bolum var her bolum icin ayrı script mi yazmam gerekiyor ?

    • yasirkula dedi ki:

      Application.LoadLevel fonksiyonu, içine parametre olarak girilen leveli açmaya yarar. Hangi bölüme gitmek istiyorsanız onun adını yazacaksınız sadece. Oyunda yer alacak olan tüm levelların Build Settings’teki Scenes in Build listesinde yer alması lazım.

  32. Osman dedi ki:

    Şimdi Ben restart butonuna Application.LoadLevel(“Bolum1”) dedim ve bu butonu game over ekranında tum bolum sonlarında kullandım her bolum den sonra game over ekranında restart diyince hep bolum 1 e gitmezmi ?

    • yasirkula dedi ki:

      Fonksiyona girilen String parametresinin public bir değişkenden alırsanız, Inspector’da değişkenin değeri ne ise o bölüme gidilir. Aksi taktirde hep Bolum1’e gider.

  33. djonur1997 dedi ki:

    Hocam şimdi donanım mühendisliği ile yazılım mühendisliği arasında nasıl fark var ve bunları nasıl seçiyoruz acaba üniversitede mi ?

    • yasirkula dedi ki:

      Üniversitelerin bölümleri oluyor, Bilgisayar Mühendisliği ya da Hukuk gibi. Sınav sonucunuza göre seçip sonucu bekliyorsunuz.

      Ben Bilgisayar Mühendisliği okuyorum, Donanım Mühendisliği diye birşey açıkçası duymadım. Ne fark var derseniz; yazılımcı yazılım yazar, donanımcı bilgisayar parçalarıyla uğraşır herhalde.

  34. Osman dedi ki:

    Bir butona bastıgımda ses duracak tekrar bastıgımda devam edecek bunu nasıl yapabilirim ?

  35. deniz dedi ki:

    Karakterimin renkleri hareket ettiğinde gölgesi çıkıyor hoş bir görüntü olmuyor bunu nasıl düzeltebilirım ?

    • yasirkula dedi ki:

      Cast Shadows’u kapatarak gölge çıkmasını engelleyebilirsiniz.

      • deniz dedi ki:

        Projem 2D Karakter içindeki cizimlerdede golge cıkıyor karkter hızlanınca … Karakterin çözünürlüğü nasıl olmalıdır ortalama oyun için ?

      • yasirkula dedi ki:

        Karakter içinde gölge çıkması garipmiş, Unity’de öyle bir özellik olduğunu bilmiyordum. Hangi seçenekle bu özellik kapatılır emin değilim.

  36. djonur1997 dedi ki:

    Merhaba skorun herhangi bir sayıya gelince diğer bölüme geçmesini istiyorum nasıl yaparım hocam

  37. djonur1997 dedi ki:

    hocam birde c# çift tıklama nasıl yapabilirim

    • yasirkula dedi ki:

      Touch’ta tapCount değişkeni var ama çift tıklamayı çok hızlı yapmazsanız yanlış değer veriyor. Kendi kodunuzu yazmalısınız. Bu kod büyük ihtimalle fingerId, position ve phase değişkenlerini kullanacak ve bir miktar karmaşık olacak.

  38. mustafa dedi ki:

    Hocam skorun belli bir sayıya geldikten sonra diger bolumdeki kilidi acma olayını nasıl yapmalıyım ?

  39. mustafa dedi ki:

    UI’de Image dosyasını nasıl enabled=true // false yapabilirim ? Boyle bir kod yazmıstım enabled’ hata veriyor..

    public Texture2D kilit;

    void Update () {
    if (PlayerPrefs.GetInt (“Score”) > 1000) {
    kilit.enabled = false;
    }
    else {
    kilit.enabled=true;
    }

    }

    • yasirkula dedi ki:

      Texture2D bir resimdir sadece, resmi enabled edemezsiniz. Image component’ini enabled edecekseniz değişkenin türü UnityEngine.UI.Image olmalı.

  40. deniz dedi ki:

    Müziği kapatıyorum oyunda ama oyun bittikten sonra yeniden aynı sahneye gelince müzik yeniden başlıyor ben istiyorum ki tamamen kapansin bir daha basılıncaya kadar kapalı dursun nasıl yapabilirim ?

    • yasirkula dedi ki:

      Audio Source başta disabled vaziyette olur. Müzik objesinde bir script olur ve bu scriptte static bir değişken olur: static var muzikAcilsinMi : boolean = true;

      Start fonksiyonunda bu değişkenin değeri true mu diye bakılır; true ise audio.enabled = true; yapılır ve muzikAcilsinMi = false; yapılır.

  41. mustafa dedi ki:

    Dediklerinize gore bole bişi yaptım calısıyor fakat muzigi tekrar acmak istedigimde bulamıyor..

    static var muzikAcilsinMi : boolean=true;
    static var muzikKapansinMi : boolean=true;
    function Start () {
    if(muzikAcilsinMi==true){
    audio.enabled=true;
    muzikAcilsinMi=false;
    }
    }

    public function Audio () {
    if( audio.isPlaying )
    audio.Pause();
    else
    audio.Play();
    }

  42. mustafa dedi ki:

    else (muzikAcilsinMi==false){
    audio.enabled=false;
    muzikAcilsinMi=true;
    }
    denedim hata verdi javada pek kod bilgim yok benm. dogrusu ne

    • yasirkula dedi ki:

      Lütfen benden sizin için hazır kod yazmamı istemeyin. Ben nasıl balık tutulacağını öğretmeyi tercih ediyorum, balık tutup da hazır önünüze servis etmeyi değil 😉

  43. mustafa dedi ki:

    hazır kod yazmı dedim sana hatamı soyle dedim 2 satır kod dedin ben 10 dan fazla kod yazdım biliyorum az ..!

  44. djonur1997 dedi ki:

    Hocam uı button u cameraya atınca yok oluyor bunu nasıl engelleye bilirim

  45. Özgür dedi ki:

    Butonla sesi kapatıyorum ardından tekrar aynı sahneye tekrar dondugumde ses 1 saniyeden az süre calıp kapanıyor daha sonra tekrar aynı bolume geldigimde ses calıyor.. (İstedigim zaman acılıp kapanması için Sesi PlayerPrefs ilemi kayıt etmem lazım eger lazımsa nasıl oluyor pek bilmiyorum arastırdım bulamadım)

  46. omer dedi ki:

    Yasir bey unityde projeyi 2d olarak actim.sahneye bir kup ekledim.function OnMouseDown kodunu kullandim kodda hic bir sorun yok.ama ise yaramiyor.collider’ı da var.ayni seyleri 3d de yapinca calisiyordu.sorun nedir acaba?

  47. djonur1997 dedi ki:

    Hocam sahneye bir sayaç koyacağım ve bu süre geri doğru sayacak 0 geldiğinde oyun bitecek bunu nasıl yapabilirim

  48. Özgür dedi ki:

    Oyundan çıkınca skorlar kayıt edilmiyor bunu nasıl çözerim ?

  49. umut dedi ki:

    Abi arastirdimda unityi 100 bin dolardan sonra pro surum almak gerekiyormus yani ben bir oyun yaptim diyelim ve cok tuttu ve 100 bin dolardan fazla kazaniyorum diyelim simdi pro surumunu alinca para siniri kalkiyor dimi yani istedigim kadar kazanzam unity karismiyor yani 100 bin dolar sinirini astin proda alsan oyunu ticari amacli kulanamazsin oyunu si demiyorlar i

  50. Veli dedi ki:

    Yeni ders ne zaman gelecek ve ne hakkında olacak ?

  51. Veli dedi ki:

    Bir UI elemanının önüne başka bir UI elemanı gelince altta kalan UI elemanını nasıl kapatırız. Mesela bir healt barımız var menü açıyoruz menü healt barının üzerine geliyor healt barı menü üzerinde gözükmeyecek menüyü kapatıncada healt barı eski haline dönecek.

  52. Veli dedi ki:

    Saolun.

  53. Veli dedi ki:

    Çok fazla soru sorduğumu biliyorum ama bir şey daha soracağım kendimize ait arayüz tasarımını hangi programla hazırlarız ?

    • yasirkula dedi ki:

      Hangi çizim programıyla rahat hissediyorsanız onu kullanabilirsiniz. Çoğunluk Photoshop kullanır, bense genelde Paint.NET kullanıyorum. Ama düz Paint programını kullanmayın çünkü onda arkaplanın görünmez olması (transparent) mümkün değil.

      • Veli dedi ki:

        Saolun. Ben de ya Ps kullanırım yada paint.NET denerim herhangi birini.Aynı zamanda texture yapcam.

  54. furkan dedi ki:

    Hocam ünity oyunu yaptık diyelim şimdi onu bir şekilde yayınlıcamda şimdi cd ye çektim arkın bilgisayarında denedim ünity projesiyle oyun açıyor sadece oyun nası açılır proje gözükmeden direk nası açılır anlatırmısınız?

  55. Özgür dedi ki:

    Hocam android için cok basit bir uygulama yaptım unity ile fakat oyun boyutu 18MB oluyor aynı uygulamalar 8-9MB falan neden unity’de apk boyutları yuksek oluyor

  56. Veli dedi ki:

    Ben unity 5 indirdim herşey güzel sevdim ama karakterleri kuramıyorum animasyonlarında veya kodlarında sorun çıkıyor. Eğer unity 5 kullanıyorsan karakterimizi nasıl kuracağımızı anlatırmısın

  57. yakup dedi ki:

    hocam şimdi biz bu unity ile yaptığımız oyunları androide nasıl dönüştürücez android sdk mı kullanıcaz?

  58. Veli dedi ki:

    Unity 5i tanıtan bir rehber hazırlayabilir misiniz ? Motor yeni olduğu için pek kaynak yok.

  59. Veli dedi ki:

    Birşey soracağım ben survial game projesi üzerinde çalışıyorum ölme fonksiyonunu ve ölünce respawn olma olayını nasıl yaparız .

  60. Muhammed dedi ki:

    Merhaba benim şöyle bir sorum olacaktı .. Diyelim ki soldan sağa dogru bir nesne geliyor. Biz bu nesnenin bizim ana kahramanımıza çarptığında patlama adındaki sprite ı çağırıp orada bulunmasını istiyoruz..Sonrasında patlama kaybolacak ve her o nesneye çarptığında aynısı olacak.Instantiate fonksiyonuyla yapmaya çalıştım ama o zamanda hani nesnenin orada değilde ekranın ortasında patlayıp kaybolmuyor. Acaba nasıl düzeltebilirim yardımcı olursanız sevinirim..

    • yasirkula dedi ki:

      Instantiate’i transform.position’da yapacaksınız. Patlamanın bir süre sonra kaybolması için Destroy(gameObject, 2.5); komutu yazabilirsiniz.

      • Muhammed dedi ki:

        bu kodlarla ”
        void OnTriggerEnter2D(Collider2D other){
        if (other.gameObject.tag == “Player”) {
        float yEkseni = nesne.transform.position.y;
        float xEkseni = nesne.transform.position.x;
        Vector3 pozisyon = new Vector3(xEkseni,yEkseni,0f);
        Instantiate(patlama,pozisyon,Quaternion.identity);
        Destroy(gameobject,0.005f); ”
        istediğim yerlerde oluşturabiliyorum ama kaybedemedim patlamayı.Ordaki destroy la sadece nesneyi yok edebiliyorum patlama orda kalıyor.Anlayamadım sorunu yardımcı olursanız sevinirim.

      • yasirkula dedi ki:

        GameObject g = (GameObject) Instantiate(patlama,pozisyon,Quaternion.identity);
        Destroy( g, 2f );

    • Muhammed dedi ki:

      teşekkürler aynen bu şekilde yapınca oldu

  61. Muhammed dedi ki:

    Merhaba oyunumu build ettikten sonra telefona atıp çalıştırdığımda butonların yarısının ekranda gözükmediğini ekranın dar geldiğini gördüm.Acaba nesnelerimizin her telefon büyüklüğüne göre değişmesini ve ona göre davranmasını nasıl sağlayabilirim..

  62. Veli dedi ki:

    Bir şey soracağım Notepad++’da monodevelopda olan terimlerin yarısı otomatik olarak çıkmıyor bunu nasıl düzeltebiliriz. Mesela “Input” komutu otomatik olarak altta çıkmıyor.

  63. yakup dedi ki:

    ayıp olmazsa bi şey sormak istiyorum yaptığın oyunlara baktım içlerinde 50000-100000 indirilenler var sana ne kadar kazandırıyor.lise son sınıftayım okuduğumu anlamama yetecek kadar ingilizcem var c# yazın başlıycam.Bu iş bana harçlık çıkarırmı merak ediyorum.bi de tam olarak 2 boyutlu oyunlar yapmayı öğrenmek ne kadar vaktimi alır

    • yasirkula dedi ki:

      Rubix Fun oyunum dediğiniz aralıkta bir indirme aldı ancak oyunun aktif kullanıcı sayısı çok az o yüzden gelir düzeyi çok az. Harçlık çıkarmayacak düzeyde yani. Daha popüler, daha aktif oyuncu kitlesine sahip bir oyun yaparsanız kazandığınız paraya para dememe şansınız var, yalan değil.

      İngilizce bilginiz yoksa kaynak sıkıntısı çekebilirsiniz (2D veya 3D farketmez). Ne kadar sürede öğreneceğiniz size ve konuya olan ilginize bağlı. Herhangi bir zaman aralığı veremiyorum.

      • yakup dedi ki:

        aktif oyuncusu 5000-10000 arası bi oyunun getirisi yklaşık ne kadar olur eğer tatmin edici yani 300-400(benim açımdan) tl gibi bi kazanç sağlayabileceksem bu yaz günde 8-9 saat bu işle meşgul olucam.

      • yasirkula dedi ki:

        Bilmiyorum.

  64. tahaumut dedi ki:

    abı unuty oyun acarken oyun hata yanı crash verıyor nasıl duzeltecem ayıptır sorması kardes. oyunlara gırmıyor unıtylı ındırdım ama
    olmadı

  65. Veli dedi ki:

    Chest ve crafting ile ilgili bir ders verirmisiniz türkçe kaynak YOK ingilizce derslerde de biryere kadar lütfen anlatın yani mantığını kavrasak olur.

  66. Muhammed dedi ki:

    merhaba oyunda açılışta animasyon veya herhangi bir resmi beklettikten sonra oyunun menusune geçmekle alakalı bir örnek var mı acaba vidyo vs.

  67. Veli dedi ki:

    Birşey soracağım Unity de UI objesini nasıl yarı saydam yaparız

    • yasirkula dedi ki:

      Color (renk) değerlerinin Alpha’sını (A diye geçebilir) düşürerek.

      • Veli dedi ki:

        Teşekür ederim. Birde ben unity’de ağaç kesmek için bir kod yaptım ağacın canı 0 olduğunda ağaç yok oluyor ama ben orada ağaç yok olunca aynı yerde bir ağaç spawnlanmasını devrilmesini ve bir süre sonra ağacın yok olmasını istiyorum bunu nasıl yapabilirim.

        Kod :

        using UnityEngine;
        using System.Collections;

        public class AgacCan : MonoBehaviour {
        public int can;
        // Use this for initialization
        void Start () {
        can = 5;

        }

        // Update is called once per frame
        void Update () {
        if (can <= 0)
        Destroy (gameObject);
        }
        }

      • yasirkula dedi ki:

        Ağaca devrilme animasyonu verebilir ve ağaç ölünce bu animasyonu çalıştırabilirsiniz. “unity creating animations” şeklinde arama yaparsanız çeşitli video kaynaklar çıkacaktır.

  68. Veli dedi ki:

    Ama benim ağacım direk yok oluyor yoko lmadan önce animasyonu nasıl animasyonu nasıl oynatabilirim ?

  69. Veli dedi ki:

    Bir şey daha soracağım unity için C# nereden öğrenebiliriz yani C# biliyorum ama unity ile alakası yok unity için nerden öğrenebilirim bir kaynak kitap cd vs…. Şimdiden teşekkürler.

  70. Veli dedi ki:

    Benim unity’de yaşadığım bir sorun var crafting yapmak için UI oluşturdum Canvasta image oluşturduktan sonra buttonları imagenin child objesi yaptım butonlara function verdim ama buttonlar çalışmıyor sebebi ne olabilir ? Cevap verirseniz çok sevinirim.

    • yasirkula dedi ki:

      Butonların üzerini kapatan başka bir UI elemanı olmadığından emin olun. Ayrıca butona basınca çalışan fonksiyonun başına test amaçlı bir Debug.Log ekleyin, belki fonksiyon çalışıyordur ama fonksiyonun içindeki kod doğru değildir.

      • Veli dedi ki:

        Teşekkürler buttonların üzerinde image varmış butonları daha önce yazdırınca sorun gitti.

  71. yakup dedi ki:

    bi sorum olacak ben de bilgisayar mühendisi olmak istiyorum lise son siniftayim ama yazilim mühendisliği diye bir şey gördüm aralarinda bir fark varmi yani hem ders olarak hemde iş imkanlari bakimindan;teşekkürler

    • yasirkula dedi ki:

      Yazılım mühendisliğinde daha çok yazılım dersi vardır herhalde, bilgisayar mühendisliğinde donanım dersleri de var. İş imkanı konusunda birşey demiyorum, iş sahasında diplomanızdan çok kendi başınıza yaptığınız projelere bakıyorlar.

  72. Orkun dedi ki:

    Arkadaş ben bir köprü indirdim ancak içinden geçiliyor üstünden yürünmüyor animasyon idi model yaptım olmuyor yardım edebilirmisin

  73. Orkun dedi ki:

    Evim var evin exterioru var interior yok napmalıyım

  74. Orkun dedi ki:

    nasıl yapacağız bende prefablar var ancak ben eve girilirken e ye basıp loading ekranı olan veya olmayan bir şekilde istiyorum

  75. Orkun dedi ki:

    teşekkür ederim allah razı olsun çok yardımcı oluyorsunuz

  76. Orkun dedi ki:

    Birde ben viking Village Şeyini indirdim onun kapısını seçemiyorum sistem skript falan bende var sadece kapıyı seçemiyorum içerisinede giremiyorum içerisine girmek için yeni bir ekran load etse veya ben cube’lerden oluştursam evimi ?

    son dediğim yapması çok zor ancak denemek zorundayım

  77. Orkun dedi ki:

    peki kapıyı nasıl ayıracam ordan

  78. Orkun dedi ki:

    dostum yanlış anladın sen ben binadan kapıyı nasıl ayıracağımı soruyorum

    kusura bakma çok yorduk senide

    • yasirkula dedi ki:

      Eğer ki kapı ayrı bir obje olarak modellenmediyse tek çare ev modelini 3DS Max veya benzeri bir program ile açıp oradan kapıyı elle ayırmaya çalışmak. Bu süreç nasıl işliyor onu bilmiyorum.

  79. Orkun dedi ki:

    ABİ ÇOKK TEŞEKKÜR EDERİM BİLDİĞİNİ BİZLE ELİNDEN GELDİKÇE PAYLAŞIYORSUN

    SAĞOLLLLLLLLLLLLL

  80. Orkun dedi ki:

    Abi ben adam yaptım adama el nasıl yapabilirim ve adamın eline baltayı nasıl verebilirim

    • yasirkula dedi ki:

      El yapmak için Blender, Maya veya 3DS Max gibi modelleme programlarından faydalanmalısınız (veya internetten hazır bir el indirmelisiniz). Balta için bu saydığım programlara ek olarak Wings3D modelleme programını da kullanabilirsiniz.

  81. Orkun dedi ki:

    elde baltada hazır ben onu adamın eline nasıl verecem ve değiştirmesini sağlayacağım ?

    • yasirkula dedi ki:

      Adamın kolunu baltanın parent objesi yaparsanız balta adamın koluyla beraber hareket eder. Baltayı değiştirmek için ise kod yazmanız gerekir.

      • yunusemre dedi ki:

        Şoyle bir kod olabilir

        Var gameobject balta;
        Var gameobject (diğeri);

        function Update()
        if(Input.GetKeyDown(Keycode.1)

        balta = false ;
        (diğeri) = true;

        if(Input.GetKeyDown(Keycode.2)

        balta = true ;
        (diğeri) = false;

  82. yunusemre dedi ki:

    Abi birşey daha sorabilirmiyim sahneler arasıgeçişlere animasyon nasıl eklerim

  83. Orkun dedi ki:

    Nasılsın abi (soracak birşey bulamayınca ben)

  84. yunusemre dedi ki:

    Abi guı ile çalısan bi kodu ui y nasi ceviriirim?

    Void on gui

    vb

  85. Orkun dedi ki:

    Waypoint için ne yapabiliriz bi kurt modelim var yakınına gelince saldırsın biz uzaktayken ise kafasına göre takılsın istiyorum

  86. Duhan dedi ki:

    Abi birşey sorucaktım flappy bird örneğiniz var (zıplayan kedi) bu örnekte kedi aşağı çok yavaş düşüyor aşağı düşme ve yukarı çıkma hızlarını nasıl ayarlayabilirim ?

  87. Duhan dedi ki:

    if(kontrol=2){
    x+=hiz;
    }

    if(kontrol=1){
    gravity=1;
    gravity_direction=270;
    kontrol=2
    }

    if(place_meeting(x,y,obj_boru_yukari)){
    kontrol=0;
    speed=0;
    gravity=0;
    image_speed=0;
    instance_create(view_xview[0]+375,view_yview[0]+300,obj_tekrar)
    instance_create(view_xview[0]+375,view_yview[0]+200,obj_buton)
    instance_create(0,0,obj_son)
    }

    if(place_meeting(x,y,obj_boru_asagi)){
    kontrol=0;
    speed=0;
    gravity=0;
    image_speed=0;
    instance_create(view_xview[0]+375,view_yview[0]+300,obj_tekrar)
    instance_create(view_xview[0]+375,view_yview[0]+200,obj_buton)
    instance_create(0,0,obj_son)
    }

    if(place_meeting(x,y,obj_zemin)){
    kontrol=0;
    speed=0;
    gravity=0;
    image_speed=0;
    instance_create(view_xview[0]+375,view_yview[0]+300,obj_tekrar)
    instance_create(view_xview[0]+375,view_yview[0]+200,obj_buton)
    instance_create(0,0,obj_son)
    }

    if(place_meeting(x,y,obj_oc)){
    kontrol=0;
    speed=0;
    gravity=0;
    image_speed=0;
    instance_create(view_xview[0]+375,view_yview[0]+300,obj_tekrar)
    instance_create(view_xview[0]+375,view_yview[0]+200,obj_buton)
    instance_create(0,0,obj_son)
    if(kontrol2=0){
    show_message(“Bir Sonraki Bölüm”)
    kontrol2=1;
    }
    }

    Kod satırı bu şekilde ama ben bir türlü ayarlayamadım bir bakarmısın ? 😦

    • yasirkula dedi ki:

      Ben örneği Unity ile yaptım, bu Game Maker örneği benim değil. gravity=1 satırı kuşun düşme hızını ayarlıyor ama yükselme hızını kim ayarlıyor bilmiyorum.

  88. Duhan dedi ki:

    hmm anladım örneği bu siteden indirip direkt game markerda açtım o yüzden size sordum neyse düşme hızını bilmekte idare eder yalnız abicim gravity=1 yapınca başta hızlı düşüyor sonra bir kez tıklıyorum yine eski hızına dönüyor 😦

    • yasirkula dedi ki:

      Bu örneği bu siteden indirmiş olmanız mümkün değil, böyle bir Game Maker paylaşımı yapmadım ben 😀 Verdiğiniz kodda nerelerde gravity=blabla yazıyorsa (0 değil) o blabla’yı düşme hızı ile değiştirmeyi deneyin. Daha fazla yardımcı olamam malesef.

  89. Duhan dedi ki:

    Çok sağol abicim adammsınnn 😀

  90. orkun dedi ki:

    abi ben ata binme olayını yapamadım tutorial falanda yok ne yapmalıyom

  91. Orkun dedi ki:

    Abi ben bastığım yerden farklı ses çıkmasını istiyorum ne yapabilirim

  92. orkun dedi ki:

    abi çime basınca farklı tahtaya basınca farklı taşa basınca farklı ses çıksın (üzerine w ile basınca)

  93. Can dedi ki:

    Bu sorun hakkında daha önceden yorum yazmıştım ama sorunum yeniden ortaya çıktı bu sefer resimde atacağım UI elemanlarının diziliş sırası resimdeki gibi ancak buttonlar basmıyor bunu nasıl düzeltebileceğim hakkında bir fikriniz var mı acaba unity sırf bunun için bilgisayarımdan tamamen silip yeniden yükledim ama geçmedi. 😦

    resim : http://hizliresim.com/JYlnlW

    • yasirkula dedi ki:

      Butonlar hiçbir elemanın arkasında durmuyor, eğer Interactable da açıksa ben bir sıkıntı görmedim. On Click event’ine attığınız fonksiyonların sıkıntısız çalışması lazım.

  94. Can dedi ki:

    buttona test amaçlı kod attım button çalışmadı event system ekledim button gene çaışmadı Interactable da açık ama halen çalışmıyor sizce bir editör hatası olabilir mi ?

  95. Gamer dedi ki:

    Abi bir kod yazdım şöle bişi

    if(mermisayısı <= 0)

    {
    reloadobje.animation.play
    }

    ama animasyon oyuna başladığım andan itibaren oynuyor bir çözüm bulamadım

    • Gamer dedi ki:

      Animasyon kodları çalışmıyor (Only assignment, call, increment, decrement, and new object expressions can be used as a statement) hatası alıyorum

    • yasirkula dedi ki:

      Animasyonu Project panelinden seçince Inspector panelinde şu iki değerden biri çıkacak:

      Wrap Mode: değeri Once olmalı
      Loop Time: değeri false olmalı

      Aldığınız hatalarla birlikte hatayı aldığınız satırı da yazarsanız yardımcı olabilirim.

  96. Yunus kara dedi ki:

    Yine yine ve yine ben 😀 abi sana bir akıl danışmak istiyorum bomba atma ve patlmsını nasıl yapabilirim

    • yasirkula dedi ki:

      Rigidbody’de AddExplosionForce isminde, patlamayı simüle etmeye yarayan bir fonksiyon var. Büyük olasılıkla bundan faydalanacaksınız. Nasıl olacağıyla ilgili dersler “unity grenade” veya “unity fps tutorial” diyince karşınıza gelecektir.

  97. Gamer dedi ki:

    Assets/atis.cs(19,14): error CS1624: The body of `at�s.Update()’ cannot be an iterator block because `void’ is not an iterator interface type

    Bu sefer böyle bi hata alıyorum

    hata satırım : relo.GetComponent(Animation).Play();

    ve Play yazısı kırmızı

    • Yunus kara dedi ki:

      Update ile ilgili sıkındı çıkıyo

    • yasirkula dedi ki:

      Kodunuzda yield varsa o fonksiyonun return type’ı void değil IEnumerator olmalı (ve o fonksiyonu StartCoroutine( Fonksiyonİsmi() ) şeklinde çağırmalısınız).

      Yalnız sizin durumunuzda bu fonksiyon sanırım Update. Kötü haber şu ki Update’in içinde yield kullanamazsınız, kendi fonksiyonunuzu yazıp yield’i orada kullanmanız lazım.

      • Yunus kara dedi ki:

        Aynen bi kodumda yield var ben iki işlem arasında birkaç saniye beklmesini istiyorum bunu nasıl yapacağım

      • yasirkula dedi ki:

        yield’ı kendi yazdığınız başka bir fonksiyonda kullanacaksınız, Update’te kullanmak mümkün değil.

      • Yunus kara dedi ki:

        Yield i kullanmadan nasıl yapbiliriz

      • yasirkula dedi ki:

        Bir float’un değeri Update’te Time.deltaTime kadar artar. Bu sayı belli bir değeri geçerse işlem yapılır ve sayı sıfırlanır.

  98. Can dedi ki:

    Merhaba ben bir agaca vurdugumuzda agacin parcalanip yere parcalarinin dusmesini istiyorim agaci parcalara ayirdim daha sonra bu parcalari kendi pozisyonunda spawnlamasini istiyorum indtantiate komutu ile yapilacakmis ama bilmiyorum bana biraz yardimci olurmusunuz

    • yasirkula dedi ki:

      Ağacı 0,0,0 koordinatına alın. Parçaları elle ağacın üzerine yerleştirin. Herbir parçanın koordinatını bir yere not alın ve Instantiate’te bu koordinatları kullanın. Instantiate ile ilgili pek çok video/yazılı ders bulabilirsiniz.

      • Can dedi ki:

        Sey pek anlayamadimda birazcik acarmisiniz.

      • yasirkula dedi ki:

        Bir ağacı 0,0,0 konumuna taşıyacaksınız. Sonra ağaç parçalanınca ortaya çıkacak olan “ağaç parçaları”nı scene panelinde lego birleştirir gibi birleştirerek parçalanmamış ağacın şeklini elde edeceksiniz. Ardından ağaç parçalarını kodunuzda Instantiate ile oluştururken pozisyon olarak bu lego parçalarının Transform position’larında yazan değerlerden faydalanacaksınız.

  99. Yunus kara dedi ki:

    Abi mermi yaptım bu mermiye ileriye dogru rigidbody ile kuvvet uygulanmasını nasil saglarim

  100. Yunus kara dedi ki:

    Abi bir soru daha sorucam düşmanımın bana saldırmasını yaptım fakat adam tek bi noktaya doğru bakıyor benim rotation uma bakmasını nasıl sağlarım

  101. Yunus kara dedi ki:

    Abi nav mesh agent ile düşmanın bizi takip etmesini istiyorum bunu nasıl yapabilirim çeşitli videolar izledim fakat ben animasyonla birlikte takip etmesini istiyorum

  102. Gamer dedi ki:

    Abi bir blog kurdum ilk gün 25 görüntülenme nasıl ?

  103. Can dedi ki:

    Eğer Unity’nin Shader sistemini kullanabiliyorsanız bunun hakkında shader oluşturmakla ilgili bir ders hazırlayabilir misiniz ?

  104. Gamer dedi ki:

    2.Gün 75 oldu 😀

  105. osman dedi ki:

    merhabalar abi…unıty den yaptığım bir uygulamamı unıtynın içinde çalıştırıyorum.herşey güzel kullanılıyor fakat apk ya çevirdikten sonra androıd de çalıştıramıyorum.açılıyor fakat çalışmıyor…sorun neyden kaynaklanıyordur acaba bir fikrniz var mı?

    • yasirkula dedi ki:

      Çalışmamasından kastınız nedir? Ney düzgün işlemiyor?

      • osman dedi ki:

        Uygulamam normalde açılınca ilk ekranda ilerle butonu ve çıkış butonu var.normalde ilerle diyerek diğer levellere geçiş yapar ama sorun şu ilerle butonuna başlıyorum fakat geçiş yapmıyor.butona basıldığı belli oluyor.çıkış butonuna basınca çıkış yapıyor ama.bu sorun PC formatında ve unity nin game modunda yok.apk ya çevirince sorun oluyor

      • yasirkula dedi ki:

        Android’de kod olmadık bir runtime error mu veriyor diye görmek için ilerle butonunun kodunun sonuna test amaçlı bir Debug.Log ekleyin. Ardından oyunu test ederken adb logcat ile cihazın verdiği output’ları kontrol edin. Eğer runtime bir error alıyorsanız error konsolda gözükür, hata almıyorsanız Debug.Log’un output’u konsolda gözükür.

      • osman dedi ki:

        abi adb logcat ı nasıl kullanacağımı bilmiyorum.bu konuda bana yardımcı olurmusunuz.
        yalnız şöyle birşey oldu.avd maneger de açmaya çalıştım.build and run yapıp avd den açacaktım açmadı oyunu şöyle bir uyarı belirdi konsolda

      • yasirkula dedi ki:

        Aldığınız hatanın sebebini bilmiyorum. logcat kullanımını öğrenmek için google’ı kullanın derim, orada Türkçe ve İngilizce kaynaklar var.

  106. Yunus kara dedi ki:

    Abi fps oyunlarda canın azalınca ekran bulanıklaşıyor ya bunu nasıl yapabiliriz

  107. Yunus kara dedi ki:

    Abi bkr kod var
    Void ongui .vb .vb çalışmıyor hata çıkıyor konsolda

  108. Yunus kara dedi ki:

    Abi blogumda her 2 günde bir 2-3 gönderi yapıyorum fakat günlük hit 9-10 covarlarında neler yapabilirim tavsiyelerini bekliyorum

    • yasirkula dedi ki:

      Orijinal içerik paylaştıktan sonra o hit zamanla Yazdığın gönderileri forumlarda da paylaşarak insanların blogunu tanımasına yardımcı olabilirsin.

  109. Nuran dedi ki:

    Merhabalar, Elimizde iki farklı unity dosyası var. Bunların biri menu kısmı biri oyun kısmı. Bu ikisini nasıl tek dosya haline getirebilirim.

    • yasirkula dedi ki:

      Bu iki scene’i de Build Settings’te “Scenes In Build” listesine eklemeniz lazım (menü en tepede, oyun kısmı ise onun aşağısında olmalı). Menüdeki Play butonuna basınca ise Application.LoadLevel(“OyunKısmınınAdı”); fonksiyonunu çalıştırmalısınız.

  110. Yunus KAra dedi ki:

    The animation state saldırıanim could not be played because it couldn’t be found!
    Please attach an animation clip with the name ‘saldırıanim’ or call this function only for existing animations.
    UnityEngine.Animation:Play(String)
    saldırı:Update() (at Assets/Sciprits/saldırı.cs:15)

    abi böyle bi hata alıyorum

  111. Sefa DOĞAN dedi ki:

    Hocam 2D bir oyun yapıyorum kameranın x objesini takip etmesi lazım follow target scriptini atıyorum kameraya tamam takip ediyor fakat sadece yüksekliğini takip etmesi lazım yani sağa sola gitmicek yükseğe çıktığında kamera da yükselecek

    Nasıl yapabilirim.

    • Sefa DOĞAN dedi ki:

      Sorunu çözdüm 🙂
      public GameObject Target;

      void Update(){
      transform.position = new Vector3(transform.position.x,Target.transform.position.y,transform.position.z);
      }

  112. Yunus kara dedi ki:

    Abi bor animasyon oynayıp bitince bir işlem yapilmasini nasil yapariz

  113. Sefa DOĞAN dedi ki:

    Dostum oyunu yaptım bitti fakat çoğu telefonda kasıyo oyun
    Oyunum zaten 3d fakat 2d gibi yan, 2D oynanıyo ve texture falan yok düz renk
    Ne yapabilirim ?

  114. Veli dedi ki:

    Dostum bir şey soracağım ben oyunuma bir stamina barı yaptım ve daha belirgin olsun diye yüzde kaç olduğunu yazmak istedim yazdırdım ama kodda belirttiğim gibi tam sayı olarak yazmıyor. Kod şu :

    if (Stamina <= 100)
    {
    Stamina += 10 * Time.deltaTime;
    }
    if (Stamina = 0 && !Inventory)
    {
    Stamina -= 5;
    }

    bunu ekrana yazdırmak için şunu kullandım :

    staminaYuzde.text = “% ” + Stamina;

    ancak şu şekilde görünüyor :

    ancak görüldüğü üzere tek stamina barında değil diğer barlarda da aynı sorun var bunu nasıl düzeltebilirim ? Şimdiden saolun.

  115. Recep dedi ki:

    Selamün Aleyküm , oyunumdaki objeleri ekranın sağında ve solunda olmak üzere iki noktadan hava ile iter gibi nasıl havalandırabilirim. Birde nasıl resim ekleyeceğimi söylersen çizerek daha iyi anlatabilirim.

  116. Veli dedi ki:

    Öncelikle sorumu yanıtladığınız için teşekkürler. Bir sorum daha olacak ben Unity`de Execution Order Settings kısmına bir script eklemek istiyorum ancak script gözükmüyor yani + kısmına tıkladığımda script görünmüyor bunun çözümü nedir ? Şimdiden saolun.

    • yasirkula dedi ki:

      Script Execution Order’ı ellemediğimden bilmiyorum, sizin de ellememenizi tavsiye ederim. Oradaki sıraya çok güvenmememizi söylüyor Unity.

      • Veli dedi ki:

        Saolun. Bir sorum daha olacak biz oyuna bir camera ekledik ve cameranın görüntüsünü UI ekranına aktarmak istiyoruz diyelim bunu yapabilir miyiz ? Yaparsak nasıl yaparız ?

      • yasirkula dedi ki:

        Görüntünün UI’a aktarıldığını görmedim/duymadım ama belki benim bilmediğim bir yolu vardır. UI dışında Render Texture diye birşey var, o belki işinize yarar.

  117. cenker dedi ki:

    hocam cidden usanmadan her soruya aylardır cevap vermişsiniz cidden çok teşekkürler benimde bir sorum olucaktı ontriggerenter ve oncollison enter farkı nedir ?

    ontriggerenter parametresindeki obje gameobject sanırım çünkü
    https://www.youtube.com/watch?v=F4TC7H6trLo videoda tam 13.dakikada col.tag ile ulaşırken onun altındaki oncollisionenter de objenin tagına col.gameobject.tag denilerek ulaşılıyor

    ayrıca hangisi için rigidbody şart ,hangisi sürekli içindeki kodu çalıştırıyor yada hangisi içindeki kodu tek seferlik çalıştırıyor,

    teşekkür ederim

    • cenker dedi ki:

      fizik olayları için emin değilim ama sanırım velocity için hangisi yada düz transform değiştirerek olan hangisi kullanılması gerek

    • yasirkula dedi ki:

      Eğer collider’lardan birinde “Is Trigger” işaretli ise OnTriggerEnter fonksiyonu çalıştırılır, kimsede “Is Trigger” işaretli değilse OnCollisionEnter çalıştırılır. OnTriggerEnter parametre olarak Collider, OnCollisionEnter ise Collision alır. Niçin ikisi de Collider değil bilmiyorum.

      Dipnot: OnCollision ve OnTrigger’ın objeyi hareket ettirme metodunuzla alakası yok, aradaki fark “Is Trigger”dan ibaret.

  118. Yunus kara dedi ki:

    Abi bir ses dosyası oynatıyorum cızırtı geliyo ateşetme sesinde skrun olmuyor

  119. Recep dedi ki:

    Hocam Selamün Aleyküm, — https://www.youtube.com/watch?v=XPgRnLRxlJM — sizi sorularımla yoruyorum ama bu videodaki gibi bir araba kontrolü nasıl yapılır yardımcı olabilir misiniz ? Şimdiden Teşekkürler…

  120. Recep dedi ki:

    Çok sağolun deneyecem , hayırlı akşamlar…

  121. Kuzey dedi ki:

    Unity’de arabam kaza yapmadan once düz bir sekildi gidiyor fakat kaza yapınca sagdan veya soldan bir nesneye carptıktan sonra surekli sag tarafa veya sol tarafa dogru gidiyor bunu nasıl cozebilirim ?

  122. Gamze dedi ki:

    Merhaba Yasir Bey,
    ben unity de bir menü hazırladım ve Web player da bu menünün her sayfasına kaç kez tıklandığını ayrı ayrı görmek istiyorum. Bunun nasıl yapıldıgıyla ilgili yol gösterirseniz çok sevinirim. Şimdiden teşekkürler..

    • yasirkula dedi ki:

      Oyunu kapatıp tekrar açınca veriler eski haliyle kalacaksa yapmanız gereken basit bir online veritabanı oluşturup C# aracılığıyla bu veritabanı ile iletişime geçmek. Oyun başlayınca her sayfanın click sayısını veritabanından çekmeli ve bir sayfaya tıklayınca o sayfanın click sayısını database’te 1 artırmalısınız. Böyle bir tecrübem olmadı, bu yüzden daha çok yardımcı olamıyorum.

  123. djonur1997 dedi ki:

    Hocam merhabalar bilgisayar mühendisi ve oyun tasarımcısı arasındaki fark nedir hangisi bir oyun şirketine daha kolay girebilir odtü bilkent boğaziçi bilgisayar mühendisi mi yoksa bu sene açılan özel ( ipek , İstanbul Bilgi ) üniversitelerinden mezun oyun tasarımcısı mı bir de acaba Taleworlds stajında neyle uğraştığınızı sorabilir miyim ? Teşekkürler

    • yasirkula dedi ki:

      Bilgisayar mühendisliğinde bilgisayarla alakalı her daldan biraz birşeyler öğreniyoruz (yazılım, donanım ve veritabanı gibisinden). Kişinin hangi alanda uzmanlaşacağı onun ilgi alanına kalıyor.

      Özel şirketlere girerken okuduğunuz üniversitenin ve diploma puanınızın (hatta okuduğunuz bölümün bile) hiçbir önemi yok; asıl önemli olan şey kendi başınıza yapıp da CV’nize eklediğiniz projeler ve bu projelerde kullandığınız teknolojiler. Bir şirket öncelikle sizin okuduğunuz üniversiteye veya diploma puanınıza bakıyorsa ben o özel şirketin profesyonelliğinden şüphe ederim.

      Taleworlds’te “top secret” bir proje üzerinde çalışıyorum ^_^ Projeyi anlatmam mümkün değil ama C# ile kodlama kısmında çalıştığımı söyleyebilirim.

  124. Can dedi ki:

    Acaba ağaçlara nasıl bump ekleriz araştırdım ama bulamadım.

  125. Kuzey dedi ki:

    if (saniye > bestScores.bestSeconds) {

    bestScores.bestSeconds = saniye;
    PlayerPrefs.SetFloat (“BSTSCD”,bestScores.bestSeconds);
    }

    if (dakika > bestScores.bestMinutes) {

    bestScores.bestMinutes = dakika;
    PlayerPrefs.SetFloat (“BSTMNT”,bestScores.bestMinutes);
    }

    en dusuk skoru en yuksek skor olarak tutmak istiyorum bu kodlamayı onceki projemde kullanmıstım fakat en iyi skoru dusuk skora cevirmeye calısıyorum basarılı olamıyorum skor hep 0 gozukuyor < yapınca ilk basta skoru 1000 falan yapıyorum ama nafile.. Bilen varsa yardım etsin..

  126. TaRmAnYa dedi ki:

    Yasir Hocam ben bir obje oluşturdum trigger ekledim. Aşağıdaki Scriptide başka bir objeye verdim.Trigger objenin tag ı duvar. Ben bu scripte şöyle bir şey eklemek istedim ama bir türlü yapamadım. Türkçe anlatıyım.
    Eğer objenin tagı duvarsa
    VE EĞER ÇARPAN KİŞİNİN TAGI PLAYER SA

    büyük harfle yazdığımı scripte bir türlü ekleyemedim. İnternette de bulamadım. Yani trigger olan objenin tag ı duvar, çarpan kişinin tag ı da player sa ekrana yazı yazsın. Script aşağıda

    public class texturedegisim : MonoBehaviour {

    public Texture2D orjtex;
    public Texture2D ikincitex;
    // Use this for initialization

    void OnTriggerEnter(Collider other){

    if (other.tag == “duvar”) {

    Debug.Log(“aada”);

    }

    }

    // Update is called once per frame

    }

    • yasirkula dedi ki:

      if (other.tag == "duvar" && gameObject.tag == "Player")

      • TaRmAnYa dedi ki:

        Olmuyor hocam. Kod hata vermiyor ama olmuyor. Sanırsam gameobject i çarparsa diye göstermedik. If gameobject collide duvar tarzı bir kod yok mudur acaba

      • yasirkula dedi ki:

        Temas olayının gerçekleşmesi için iki objede de Collider olmalı (Trigger işaretli olabilir de olmayabilir de) ve en az bir objede Rigidbody olmalı.

  127. Veli dedi ki:

    Önceki sorumu yanıtladığınız için teşekkürler. Benim bir sorum daha olacaktı. Ben survival bi oyun projesi üzerine çalışıyorum. şimdi ben karaktere ev yaptırtmak istedim ve birkaç yol denedim. İlk olarak karakter craft ettiği objeyi önünde Instantiate komutu ile klonlasın dedim klonladı ama içinden geçiyorduk. Box collider ekledim terrain collider ile çarpışıyordu ve fırlıyordu ayrıca oyuncu mouseyi nereye tutarsa oraya klonladığı için havayada klonlayabiliyordu. bu olmasın diye rigidbody ekledim. bu sefer klonladığımız obje devriliyordu. anlayacağınız bir türlü yapamadım aklımada fikir gelmedi. sizce nasıl bir şey yapabilirim. Cevaplarınızı bekliyorum şimdiden teşekkür ederim.

    • yasirkula dedi ki:

      Evde rigidbody olmasına gerek yok. Ev neden havaya fırlıyor orasını anlayamadım açıkçası. Havaya ev dikmeyi engellemek için kameradan dümdüz ileri doğru 5 metrelik Raycast yapabilirsiniz, eğer temas yoksa karakter havaya bakıyordur. Tabi daha düzgün bir yolu da olabilir.

      • Veli dedi ki:

        Sanırım yanlış anladınız ben evi tamamen spawnlamak istemiyorum karakter parça parça kendi evini yapsın istiyorum ancak sapawnlanığında devriliyor bunu nasıl önleyebilirim demek istedim.

      • yasirkula dedi ki:

        Rigidbody’deki Is Kinematic iş görebilir.

      • Veli dedi ki:

        Teşekkürler. Gerçekten çok işime yaradı iyi günler.

  128. Gamze dedi ki:

    Yasir bey merhaba, unity de ki projeme 3d bir obje ekledim. Normalde ışıgı güzel görünmesine rağmen playe bastıgımda obje karanlıkta kalmış gibi görünüyor. Nedeni nedir ve nasıl düzeltilebilir acaba ?

  129. Mehmet TAŞ dedi ki:

    hocam oyun otomatik olarak kaldıgı yerden(level) başlması için hangi kodu kullanmalıyım varsa makalaniz yada önerebilceginiz makale

    • yasirkula dedi ki:

      Mevcut levelin ismini kaydetmek için PlayerPrefs.SetString( “LevelAdi”, Application.loadedLevelName ); fonksiyonunu kullanabilirsiniz. “LevelAdi” anahtarına şimdiye kadar herhangi bir levelin kaydedilip kaydedilmediğini kontrol etmek için PlayerPrefs.HasKey( “LevelAdi” ) fonksiyonunu bir if’in içinde kullanabilir, eğer level kaydedilmişse bu leveli çekmek için String levelAdi = PlayerPrefs.GetString( “LevelAdi” ); fonksiyonunu çağırabilirsiniz.

  130. Mehmet TAŞ dedi ki:

    hocam kusura bakmayın varsa elinizde bi örnek kod atabilirmisiniz

    • yasirkula dedi ki:

      Oyunun başında:
      if( PlayerPrefs.HasKey( "LevelAdi" ) )
      Application.LoadLevel( PlayerPrefs.GetString( "LevelAdi" ) );

      Her bölümün başında:
      PlayerPrefs.SetString( "LevelAdi", Application.loadedLevelName );

  131. Can dedi ki:

    Size çok soru soruyorum ama bir sorum daha olacak ben bir kanaldan crafting kodu almıştım. videoda yaptıklarını uyguladım ama kod 1 kez çalışıyor bir daha çalışmıyor. Kod ney dersen de, kod campfire spawnlıyor ve spawneri setActive(true ) yapıyor daha sonra spawner mesh kodu ile campfire spawnlanıyor ama bu döngü 1 kez oluyor. Bir daha olmuyor. crafting kodu şu;

    using UnityEngine;
    using System.Collections;

    public class Crafting : MonoBehaviour {
    public Oyuncu oc;
    public GameObject campfire;
    public GameObject campfirespawner;
    public bool isCrafting;
    // Use this for initialization
    void Start () {
    campfirespawner.SetActive(false);
    oc = gameObject.GetComponent();
    }

    // Update is called once per frame
    public void krafting(int hangisi)
    {
    if (hangisi == 1 && oc.Odun >= 2 && isCrafting == false)
    {

    oc.Odun -= 2;
    oc.Stick += 4;

    }
    if (hangisi == 2 && oc.Stick >= 12 && oc.kaya >= 7 && isCrafting == false)
    {

    isCrafting = true;
    oc.Stick -= 12;
    oc.kaya -= 7;
    campfirespawner.SetActive(true);
    }
    }

    void Update()
    {
    if(isCrafting)
    {
    print(“3”);
    }
    }
    }

    • Can dedi ki:

      Abi burayı boş yere doldurdum ama 4 saat itina ile kodları gözledim bir şey bulamadım buraya yazdım ama neyseki sorunu buldum. Yinede Saol. Taleworlds’te o “Top Secret” projende sana başarılar.

    • yasirkula dedi ki:

      EDIT: Zaten sorunu çözmüşsünüz, cevabı ignore edebiliriz. Nasıl çözdüğünüzü paylaşabilirsiniz dilerseniz.

      Şu şekilde yapmayı deneyebilirsiniz (olacağını sanmam ama):

      campfirespawner.SetActive(true);
      campfirespawner.SetActive(false);

      Sorunun kaynağını bulmak için campfirespawner objesinde yer alan scriptlerdeki fonksiyonları incelemeniz lazım gibime geliyor.

      • Can dedi ki:

        Aslında sorun benim spawnerMesh kodunda yaptığım bir dalgınlıktan dolayı ortaya çıkmış setActive fonksiyonunun içine herhangi bir değer vermemişim 😀 Birde size bir soru daha sormak istiyorum. Unity ile bir oyun yaptık build ettik yayınladık oyun çok tuttu insanlar bu oyuna mod yapmak istiyor yapabilirler mi? yoksa bizim özel bir şey yapmamız gerekir mi ?

      • yasirkula dedi ki:

        Oyunun tasarımcısının mod oluşturmak için bir mini level editörü yazması veya oyunda kullanılan değişkenlerin değerini bir şekilde text dosyalarından çekmesi gerekebilir. Malesef çok zahmetli bir süreç olduğunu düşünüyorum.

  132. Kuzey dedi ki:

    terrain’e ekledigim textureler telefonda kotu gozukuyor kare kare gibi sorun nerededir ?

  133. Can dedi ki:

    Merhaba size bir soru sormak istiyorum Talewords da kullandığınız oyun motoru özel olar oluşturulmuş bir oyun motoru değil mi ?

  134. Can dedi ki:

    Abi üst üste 2 soru soruyorum özür dilerim ama çok acil bir sorum var. Şimdi ben oyunuma save/load işlemi yapıcam ama yapmak için ne yapacağımı bilmiyorum . Oyunda tek skoru değil sahneyi tamamen kaydetmek istiyorum bunun için nasıl birşey yazabilirim.

    • yasirkula dedi ki:

      Tüm sahne nasıl kaydedilir bunu ben de bilmiyorum. XML Serializer diye birşey var; kendisi bir objenin değişkenlerini bir XML dosyasına kaydetmeye yarıyor. Ama tüm sahneyi nasıl kaydedebiliriz işte ondan emin değilim.

      • Can dedi ki:

        Dediğinizi ingilizce olarak araştırdım tüm sahneyi kaydetmek biraz zormuş. O yüzden her değişkeni tek tek kaydedeceğim ama birşey soracağım karakterimizin konumunu nasıl kaydedip yükleyebiliriz yani karakter bıraktığımız yerden devam edecek bunu nasıl yapabiliriz ?

      • yasirkula dedi ki:

        PlayerPrefs.SetFloat ile x, y ve z koordinatlarını tek tek kaydedebilir ve Start fonksiyonunda bu değerleri PlayerPrefs.GetFloat ile tek tek çekebilirsiniz.

  135. Orkun dedi ki:

    Abi ben geri döndüm bomba gibi döndüm güzel bir projem var ancak kodum yok

    Kodları ücretli veya ücretsiz yazabilirsen çok sevinirim projem şu:

    Sadece “RAMMSTEİN” şarkılarıyla oluşturulmuş bir Guitar Hero Clone’u

    onların hepsini yapmada bana yardım edermisin Projeyi “Hazırlayanlar” kısmında senin adın geçecek yardım edecek diğer arkadaşlarında adı geçecek

    Şimdi ben tuş istiyorum tuşlardan başlayalım

    5 Tuş olacak

    “En soldaki Siyah” “Basılacak tuş: A”
    “Siyahın bir sağındaki Kırmızı” “Basılacak tuş: S”
    “Kırmızının bir sağındaki Yeşil” “Basılacak tuş: D”
    “Yeşilin bir sağındaki Mor” “Basılacak tuş: F”
    “Mor’un bir sağındaki Sarı” “Basılacak Tuş -Boşluk- Space”

    Ayarlama şu şekilde oturuyor : Serçe parmağı A’Ya Yüzük parmağı S’ye Orta parmak D ye İşaret parmağı ise F’ye Baş parmak ise BOŞLUK tuşuna geliyor

  136. Buğra dedi ki:

    Abi tırmanma merdiveni ve skor tabelasında sıkıntı yaşıyorum merdivenin hiç kodu yok skorda oyunda 3 fraklı mod var mesela zor a girince direk skorun 1000 den başlamasını istiyorum yapamadım. bide oyunun sonunda skoru gösteremiyorum. Normalde skor zombi felan öldürdükçe artıyo ama sonda gösteremedim (ölünce)

  137. ercan dedi ki:

    hocam calışmalarınızı dikkatle takip ediyorum emeğinize sağlık. size bir sorum olacak . ben ayarlar bölümü yapmak istiyorum ama bir türlü bulamadım ekran parlklığını değiştiren kod nedir acaba.

    • yasirkula dedi ki:

      İnternette “unity change brightness” şeklinde arama yapınca gördüğüm kadarıyla bunu yapmak için çeşitli yollar mevcut: kendi shader’ınızı yazmak, kameraya image effect vermek veya ambient light’ı değiştirmek. Bence en basit yol ambient light’ı değiştirmek: http://answers.unity3d.com/questions/10338/is-there-an-easy-way-to-add-a-brightnessgamma-menu.html

      UI Slider’ınızın minimum değeri 0, maksimum değeri 1 olmalı ve OnValueChange gerçekleştiğinde attığım linkteki kod çalışmalı. Kodda yer alan ambientDarkest ve ambientLightest değişkenleri birer public Color.

      • Can dedi ki:

        Şey Unity 5’te speed tree modellerini scene paneline sürüklediğimde modeller görünmüyor sebebi ne olabilir sizinde başınıza geldimi eğer geldiyse ve çözdüyseniz bizimle paylaşırmısınız.

      • yasirkula dedi ki:

        Speed tree model kullanmadım, açıkçası neden olabilir bir bilgim yok.

  138. Buğra dedi ki:

    Abi benim oyun bitti sayılır merdiven tırmanmalı yeri iptal ettim. oyunu web playerde mi build etmek iyi olur yoksa bilgisayara mı internernete biraz baktım 3d oyun sitelerinde web playerle oyun önerisi alınıyor.

    • Buğra dedi ki:

      abi oyundan görsel gösterebilirim istiyorsan 😀 fakat ücretli ve ücretsiz çok assest kullandım ya ona yanıyorum hiç kullanmadan sadece grafikleri alsaymışım hem paradan hem indirme zamanından tasarruf edebilirmişim ama olsun.

    • yasirkula dedi ki:

      Platform tamamen tercih meselesi. Webplayer ile daha çok kullanıcıya ulaşmak mümkün olabilir ama performans çok iyi olmaz.

  139. Buğra dedi ki:

    abi çok soru soruyorum ama bide steam de dandik unity ile yapılmış oyunlar var 3 dolara oyun satıyolar steam de tabi dandik olmayan muhteşem oyunlarda var the forest gibi bizde dandik unity li oyunlar gibi steam de oyunu 3 dolara filan satsak olmuyor mu desek ki işte şu zamanda oyun çıkacak fakat oyunu bitirmiş olsak steam paranın % kaçını alıyosa alsın bilgin varsa paylaşır mısın?

  140. Mehmet TAŞ dedi ki:

    yasir bey ben playerprefs ile coinsleri kaydediyorum ama market menüsündeki texte aktarırken 2 ile çarpıyor neden olabilir

    kayıt kodum;

    public Text altinyazi;
    public int altin;
    public int sonaltın;
    public int toplam;
    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {

    }
    void OnTriggerEnter2D (Collider2D altinn){

    if(altinn.gameObject.name == “altin”){
    altin+=1;
    altinyazi.text =”Toplanan Altın :” + altin.ToString ();

    sonaltın = PlayerPrefs.GetInt (“Altin”);
    toplam = altin + sonaltın;
    PlayerPrefs.SetInt(“Altin”,toplam);

    markette gösterme kodu;

    public int para;
    public Text parayazi;

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
    para = PlayerPrefs.GetInt (“Altin”);
    parayazi.text = para.ToString ();

    • yasirkula dedi ki:

      PlayerPrefs.SetInt(“Altin”,toplam) yerine PlayerPrefs.SetInt(“Altin”,altin) yapsanız olur mu?

    • osman dedi ki:

      konu eski ama yinede yazayım;

      start fonksiyonun içine { toplam = sonaltin; } yaz.

      sonra..

      toplam = altin+sonaltın sil yerine
      toplam = altin yap

      son olarak

      playerprefs.setınt(“altin”,sonaltin+1);
      yapınca işlem düzeliyor.

  141. Mehmet TAŞ dedi ki:

    yasir bey siz scriptlerinizde altın toplama scripiti yaıyorsanız önceki altınla şimdi toplanan altını nasıl topluyorsunuz

  142. Mehmet TAŞ dedi ki:

    yasir bey ben sahne 1 deki kod ile sahne 2deki bir objeyi göstermek gizlemek yada scripti açıp kapatmak için ne yapmalıyım varsa elinizde makale felan teşekkürler 😀

    • yasirkula dedi ki:

      Kolay bir yolu yok. static bir boolean kullanabilir ve bu boolean’ın değeri true ise sahne2’deki objenin Start’ında onu yok edebilir veya belki PlayerPrefs’e veri kaydedip bu veriyi sahne2’de çekebilirsiniz. Daha kolay yolu da olabilir, bilemiyorum.

  143. Buğra dedi ki:

    hocam yeni proje ve bir sorun kayıt nasıl kayıt ediliyor yabancı sitelerden baktım zormuş kolay yolu var mı ya da yanlış mı anlamış hocam bi el atın

    • yasirkula dedi ki:

      Sahneyi kaydedeceğim diyorsanız nasıl oluyor ben de bilmiyorum. Bir iki değişken kaydedeceğim diyorsanız PlayerPrefs kullanabilirsiniz. Daha karmaşık save-load işlemleri için XMLSerializer kullanabilirsiniz.

  144. Orkun dedi ki:

    abi benim bir modellemem var kamerayi onun parent objesi yapiyorum modele controller movement falan herseyi vriyorum skriptlerini falan ancak karakter yürüyor modellemem yürümüyor
    tam tersinide denedim kameranin parent objesi yaptim modeli yok

  145. Can dedi ki:

    Abi bir sorum olacak ben update kısmında PlayerPrefs.SetInt(“can” , can); ile can değerini kaydediyorum start voidinde PlayerPrefs.SetInt(“can”); ile değeri çağırıyorum ama olmuyor can kaydedilmiyor sebebi ne olabilir?

    • yasirkula dedi ki:

      Start’ta PlayerPrefs.GetInt(“can”); yaptığınızı varsayıyorum. Belki Update’te SetInt’ten sonra PlayerPrefs.Save(); fonksiyonunu çağırırsanız sorun çözülür. Ancak PlayerPrefs’i Update fonksiyonu gibi sürekli çalışan bir fonksiyonda kullanmak performans açısından kötü sonuçlar doğurabilir aklınızda bulunsun.

  146. Can dedi ki:

    Abi Start’ta PlayerPrefs.GetInt(“Can”); ile can değerini çağırıyorum. Kaydetmek içinse senin dediğin gibi PlayerPref.SetInt(“Can”, Can); yanında PlayerPrefs.Save(); kullanıyorum ama olmuyor. Belki ben yanlış tanımlıyorumdur bir yardımcı olsanya oyunum için can alıcı nokta.

    • yasirkula dedi ki:

      Start’ta “Can = PlayerPrefs.GetInt(“Can”);” yapıyorsunuz değil mi? Eğer öyle yaptığınız halde olmuyorsa o halde bence “unity playerprefs tutorial” şeklinde arama yapıp video ders izleyin, belki sorunu öyle bulabilirsiniz.

      • Can dedi ki:

        Bu olayı araştıracağım teşekkürler ancak 1 sorum daha olacak cevap yazarsanız gerçekten çok mutlu olurum. Sorum şu:

        Ben Envanter oluşturdum buraya slotlar oluşturdum amacım şu ben itemi alacağım item envanterde 1. slota yerleştirsin 1. doluysa 2. 2. doluysa 3.ye böyle gidecek ama bir türlü yapamadım. Load image ile resmi yüklüyorum resim üst üste biniyor bunun önüne nasıl geçeriz.
        birde alt panel yaptım bu alt panele envanterden item sürüklemek istiyorum onu nasıl yaparız ? kaynak önersenizde olur cevap yazsanızda. Şimdiden teşekkürler.

      • yasirkula dedi ki:

        Aklıma gelen en basit çözüm Grid Layout Group kullanmak: http://docs.unity3d.com/Manual/script-GridLayoutGroup.html

  147. Gamer dedi ki:

    oyunu yapıp build game dedikten sonra oyun simgesini nasıl değiştiriyoruz

  148. Veli dedi ki:

    Hocam bir sorum olacak şimdi biz şu tarzda http://steamcommunity.com/sharedfiles/filedetails/?id=280949218 bir can barı yaparız oyunun yapımına başladığımdan beri böyle bir fikir aklımda ama yapamıyorum can barı ekranın sağ alt köşesinde.

    • yasirkula dedi ki:

      UI Image’da “Fill Method” parametresini “Radial180” yaparsanız dediğiniz şey olabilir. Başka ayarlar da çekmeniz gerekebilir.

  149. yakup dedi ki:

    ticari kullanıma açık unityscript leri nereden bulabilirim?

    • yasirkula dedi ki:

      Öyle bir site var mı bilmiyorum. Asset Store’daki ücretsiz scriptler ticari kullanıma açık olabilir.

      • Can dedi ki:

        Abi biz oyunumuzu build ediyoruz daha sonra oyunu açmak için ikona tıklıyoruz daha sonra önümüze bir ekran çıkıyor çözünürlük falan çıkıyor seçiyoruz oyuna giriyoruz. Biz o ekranı atlayabilirmiyiz ? Yani tıkladığımız gibi oyuna girebilirmiyiz ?

      • yasirkula dedi ki:

        Player Settings’te “Display Resolution Dialog”u Disabled yapabilirsiniz.

  150. yakup dedi ki:

    ben gene rahatsız ediyorum ama oyuna kullandığım karakterlerin hepsi assetstore dan ben bunları
    google playde yayınlasam muhtemelen sorun çıkar o yüzden bu karakter ve cisimleri kendim yapmam gerekiyo. Hangi programla yapabilirim bunu mükemmel olmasına gerek yok sadece pixel pixel olmasın.

  151. Barış dedi ki:

    Bu asset deki https://www.assetstore.unity3d.com/en/#!/content/40087 bazı modelleri falan kendi oyunumda kullanabilir miyim? Sesler vs. Ama bence kullanmamamızı isteseler niye oraya koysunlar ki?

  152. Barış dedi ki:

    Hocam, oyunumda bir zaman sayacı var. Zaman sayacının süresi dolana kadar hayatta kalmak zorundasınız, oyunumu bu şekilde yaptım. Sadece map design kısmı kaldı ama onun için modelleme bilmem gerekir ya da birsürü lisanslı model ve texture indirmem gerekir bu kadar uğraşmak istemiyorum. assetstore(ya da başka bir site) de hazır mapler var mıdır acaba? paralı olsa da sorun olmaz. Ama grafikleri iyi olsun.

  153. Can dedi ki:

    Abi birşey sorcam ben ileride senin gibi oyun yapımcısı olmak istiyorum sen hangi liseye gittin hangi yolları izledin bana anlatsana.

    • yasirkula dedi ki:

      Lise veya üniversite önemli değil. Bu işe ilgi duyduğun sürece internetteki kaynaklarla kendini geliştirebilirsin (İngilizce şart). Ben ilk başta bir C++ kitabı ile programlamaya giriş yaptım, sonra Game Maker ile ilk oyun motoru deneyimimi kazandım ve ardından Unity’e yatay geçiş yaptım.

      • Can dedi ki:

        Abi sen taleworlds de çalışıyorsunya eğer açıklama iznin varsa ekipte görev dağılımı nedir yani kaç kişi motor üzerine çalışıyor kaç kişi grafiker üzerinde çalışıyor birde motor hangi dili kullanıyor ?

      • yasirkula dedi ki:

        Dağılımı ben de bilmiyorum zira çok fazla çalışan var (bilseydim de tahminimce açıklamaya iznim olmazdı). Dil olarak gözlemlediğim kadarıyla C# kullanılıyor. Ben Unity üzerine staj yaptım.

  154. Barış dedi ki:

    Abi eskiden geliştirdiğim oyunumun proje dosyaları silindi. (Pc ye format atmıştım.) Ama elimde apk sı var reklam türünü Banner dan Interstitial reklama çevirmek istiyorum. Apk düzenleme falan varmış o şekilde yapabilir miyim? Amacım reklam kodunu değiştirmek.

    • yasirkula dedi ki:

      Mümkün olduğunu görmedim duymadım.

      • Can dedi ki:

        Hocam şuana kadar oyunumda birsürü sorunu sizin sayenizde çözdüm bir sorum daha var ben oyunuma ağaç kesme sistemi ekledim şimdi ben ağacı kestim diyelim oyuncu tüm ağaçları kesip adayı kel edebilir. Ben bunun önüne geçmek için ağaç koduna bir sayaç koydum ağaç canı 0 olunca başlıyor sayaç 0 olunca yeni bir ağaç instantiate oluyor ama ben bu olayı görüyorum ben ağaca bakmazken instantiate yapması mümkün mü ?

      • yasirkula dedi ki:

        transform.forward vektörü ile (agac.transform.position-transform.position) vektörü arasındaki açı örneğin 90 dereceden büyükse oyuncu ağaca bakmıyordur.

      • Buğra dedi ki:

        Ağacın prefabında bir cube oluşturablirsin eğer oyuncu cubeden çıkarsa ağaç instante olur yani basit bir kodla halledebilirsin

  155. Furkan dedi ki:

    Hocam ekranın köşesine kamera butonu koyacam. Fps modundayken tps ye tps modundayken fps moduna geçsin istiyorum. Camera değiştirme kodu verir misiniz C# için

    • yasirkula dedi ki:

      kamera1 ve kamera2 adında Camera türünde iki değişkenimiz olsun. kamera1’den kamera2’ye geçmek için:

      kamera1.enabled = false;
      kamera2.enabled = true;

      • Furkan dedi ki:

        Yaptım ama sadece 1 kez kamerayı değiştiriyor. Bastığımda fps den tps ye geçti ama tps den fps ye geçmedi

      • yasirkula dedi ki:

        Şunu deneyin:

        kamera1.enabled = !kamera1.enabled;
        kamera2.enabled = !kamera2.enabled;

  156. emirgezer dedi ki:

    Yasir hocam jumpscare yapicam da kodda yardimci olursaniz sevinirim

    • yasirkula dedi ki:

      Nasıl bir sıkıntı var?

      • emirgezer dedi ki:

        Elimde bir kod var calisiyor fkat ses cikariyor fkat ocu cikip kaybolmuyor

      • yasirkula dedi ki:

        Öcünün GetComponent(Renderer).enabled’ını true yaparsanız öcü görünür, false yaparsanız geri yok olur (öcünün Renderer component’i olduğunu varsayıyorum). Önce öcüyü true yapıp aradan kısa bir süre geçtikten sonra false yapabilirsiniz.

      • emirgezer dedi ki:

        Hocam bide Sword tutoriali yapsaniz iyi olur

      • yasirkula dedi ki:

        Yakın zaman için böyle bir tutorial uzak ihtimal ancak belki ileride bu tarz birşey yapabilirim.

  157. emirgezer dedi ki:

    Hocam minecraft gibi hesapla girilen bir oyun yapmak istiyorum

  158. emirgezer dedi ki:

    Bide hocam oyun tasarimcisi olucamda bir yere tasarimci olarak girememe olasiligim varmi

    • yasirkula dedi ki:

      Portfolyonuzda neler varsa işe girerken onlar belirleyici rol oynar sizin için. Oyun yapımcısı tasarımcı olamaz diye birşey yok yani.

  159. emirgezer dedi ki:

    Hocam blog actim 37 goruntulenme

  160. emirgezer dedi ki:

    kamera1.enabled = false;
    kamera2.enabled = true;

    Bunu tus ile yaparken get.koycode(bi tus); kodu ile mi yapicaz

  161. emirgezer dedi ki:

    Amazon da nasil oyun yayinlarim

  162. emirgezer dedi ki:

    Dusmana Aİ yaptim bide olsun diye collider ekledim collider etrafimda donuyo

  163. emirgezer dedi ki:

    Hocam amazonda ucretsizmi ucretli bir sekilde yayinlananbilirmi

  164. harun dedi ki:

    karakterin yürümesini nasıl sağlayabilirim.ilerliyor hiç hareket yok

  165. burhan dedi ki:

    pathfinding olayı 5.2 ücretsiz mi ?

  166. Barış dedi ki:

    Geliştirdiğim oyun 50 mb dan büyük 2 dosya oluşuyor nasıl google play e yükleyeceğim?

    • yasirkula dedi ki:

      Artık Google Play 100 MB’a kadar tek dosya (APK) destekliyor. Ancak oyununuz 100 MB’tan da büyükse o zaman bu APK ve OBB ile nasıl uğraşacağınızı ben de bilmiyorum.

  167. emirgezer dedi ki:

    Oyun oncesi animasyon egitimi videosu bulamadim

  168. yakup dedi ki:

    oyunda bir objenin üstüne basınca renk değiştirmesini istiyorum.mesela kırmızıyken üstüne basınca yeşil olsun bunu nasıl yapabilirim?

  169. Veli dedi ki:

    Hocam bir sorum var benim elimde TPS bir karakterin mecanim sistemi var her şeyi ile (Sağa dönüş, sola dönüş, geriye yürüme,yürüme, koşma ) bunları değerlere atadım mesela direction 0.50 iken düz, 0.00 iken sağa, 1.00 iken sola dönüyor ben bu değerleri kod üzerinden nasıl değiştiririm ?

  170. Mustafa dedi ki:

    Yasir abi ben bilgisayar donanımında çok iyiyim ama yazılımda zayıfı. Hiçbir dil bilgim yok unity motoru hakkında da yok. Bir basit android oyunu yapmayı ne kadar sürede öğrenebilirim ?

    • Umuthan Özel dedi ki:

      Ben 1 yılda rahatlıkla öğrendim. Şu an bir de zor kısım olna firikiri halletsem güzel bişeyler çıkaracak seviyede olduğumu düşünüyorum 😀 1 yılda uzun aslında daha kısa sürer istekliysen

    • yasirkula dedi ki:

      Süre tamamen size bağlı. Bu işe ne kadar süre ayırırsanız, bu işte ne kadar yatkınlığınız varsa ve İngilizce’niz ne kadar iyiyse o kadar hızlı öğrenirsiniz.

  171. yakup dedi ki:

    yasir hocam ben gene rahatsız ediyorum ama son bir sorum daha olucak oyunda iki tane kutuyu iple birbirine bağlamak istiyorum yani A objesininin üstüne basılı tutup B objesinin üzerine getirdiğim zaman iple birbirlerine bağlansın istiyorum ancak ip bir anda ortaya çıkmasında A objesinin üstüne basıp B objesine doğru giderken yavaş yavaş uzayarak gitsin istiyorum bunu nasıl yapabilirim?

  172. Barış dedi ki:

    Windows 10 yüklü bilgisayardan ios a build alabilir miyim mac almam gerekir mi?

  173. yakup dedi ki:

    yasir hocam flappy bird klon oyununda kullandığınız bi scriptin küçük bir bölümünü kendi oyunumdaki bir problemi çözmek için kullanmak istiyorum sizin için bir sakıncası olurmu

  174. Veli dedi ki:

    Abi ben aynı anda W ve Shift tuşlarına basıldığında koşma animasyonunu oynatmak istiyorum bunu if koşulu içerisinde tanımladım ama çalışmıyor sence bunu nasıl yaparım ?

    • yasirkula dedi ki:

      if( Input.GetKey( KeyCode.W ) && Input.GetKey( KeyCode.LeftShift ) ) şeklinde olması lazım koşulun. Alternatif olarak Mecanim sistemini kullanmayı araştırabilirsiniz.

  175. Osman G. dedi ki:

    sizinle bi oyun hakkında görüşmem gerek, mümkünse mail atarsanız sevinirim.

  176. Umutcan dedi ki:

    Merhaba Sayın Hocam;
    Ben Unity ile android platformunda oyun yapmak istiyorum geçen yıl okulda “C# Console Application” Dersleri gördük fakat bu sene dal tercihim “web tasarım/programlama” yöneldiğim için pek birşey hatırlamıyorum sizce “C# console application”da öğrendiklerim işime yarar mı?

  177. ahmet dedi ki:

    Merhabalar hocam bir sorum olacaktı.
    Sahnede bazı nesneler var ve karakterle dolaştığımda hangi nesneye dönerse onunla ilgili bir ses
    çıkarmasını istiyorum.

    Vector3 myTransform = Charecter.transform.forward;

    if(Physics.Raycast(transform.position,myTransform,out Hit,20))
    {

    if(Hit.collider.gameObject.CompareTag(“Respawn”))

    {
    Debug.DrawRay(transform.position,Charecter.transform.forward,Color.red);
    audio.PlayOneShot(kup1);

    }
    }

    şöyle bir şey yaptım ama tam olarak başarılı olmadı.Update fonksiyonuna attım kodu.Tam olarak nasıl yapabilirim. Sadece nesneye baktığında ses çalsın.İyi günler

    • yasirkula dedi ki:

      myTransform’a transform.forward vermeyi ya da Raycast’e ilk parametre olarak Charecter.transform.position vermeyi deneyebilirsiniz. Eğer “Respawn” collider’ının “Is Trigger”ı işaretli ise Edit-Project Settings-Physics’teki “Queries Hit Triggers”ın (veya “Raycasts Hit Triggers”) seçili olduğundan emin olun.

  178. yakup dedi ki:

    merhaba hocam bir sorum olacak

    private var score : int =0;
    private var sayi : int= 0;
    function Update ()
    { score = Time.deltaTime * sayi++;
    }

    skoru saniyede 1 arttırmaya çalışıyorum arttırıyorumda ancak score hızla artmaya çalışırken Time.deltaTime zorla yavaşlatıyor sanki kötü bir görüntü oluyor bunu nasıl düzeltebilirim?

    • yasirkula dedi ki:

      private var score : int = 0;
      private var sayi : float = 0;
      function Update ()
      {
      sayi = sayi + Time.deltaTime;
      score = (int) sayi;
      }

  179. ahmet dedi ki:

    Hocam merhabalar:Hocam ben karakterin baktığı nesnenin ses çıkarmasını istiyorum.Ben şu şekilde yaptım Update fonk. içine attım.Ama ben buton falan tıklamadan otomatik olarak sesleri çalmasını istiyorum.Buton tıklamayı kaldırdığımda sesler hepsi update üst üste çalıyor nasıl düzenleyebilirim.(Yukarda sormuştum söyledikleriz işaretli)Teşekürler şimdiden.Kusura bakmayın.

    if (Input.GetKey (KeyCode.Mouse0)) {

    Vector3 myTransform = Charecter.transform.forward;

    if (Physics.Raycast (transform.position, myTransform, out Hit, 20)) {

    if (Hit.collider.gameObject.CompareTag (“Respawn”)) {
    Debug.DrawRay (transform.position, Charecter.transform.forward, Color.red);

    audio.PlayOneShot (AtesSes);

    //Destroy(Hit.collider.gameObject);
    }
    }
    }

    • yasirkula dedi ki:

      audio.PlayOneShot (AtesSes); satırını şöyle değiştirmeyi deneyin:

      if( !audio.isPlaying || audio.clip != AtesSes )
      {
      audio.clip = AtesSes;
      audio.Play();
      }

  180. Veli dedi ki:

    Merhaba benim size bir sorum olacak. Tps oyun yapımı serisinde kamera kontrollerini alıp kendi oyunuma göre uyarladım ancak kamera aşğı veya yukarı bakarken haddinden fazla dönüp sapıtıyor bu dönme açısını kısıtlıyamazmıyız?

    • yasirkula dedi ki:

      transform.localEulerAngles.x’in değerinin her zaman için 80’dan küçük, -80’den büyük olmasını sağlayabilirsiniz. Eğer değer 180’den büyük ise önce değerden 360 çıkarıp öyle işlem yapın.

  181. Barış dedi ki:

    İos a oyunlarımı build almak için ve yeni oyunlar geliştirmek için yeni bilgisayar almayı düşünüyorum bu bilgisayar işimi görür mü sizce http://www.vatanbilgisayar.com/macbookair-notebookcorei5-16ghz-4gb-128gbssd-133-intel-notebook-bilgisayar.html Veya macbook pro mu alsam karar veremedim ?
    Photoshop cs6, Unity,xcode gibi yazılımları kullanacağım.

    • yasirkula dedi ki:

      Bende sadece Mac Mini var, o build alırken işimi görüyor (geliştirme sürecini kendi laptop’umda yapıyorum). Mini’den başka bir Mac kullanmadığım için de yorum yapamıyorum açıkçası.

  182. onurzor dedi ki:

    s.a hocam unity ile nekadar obje kosam scane ekranında gözükmüyorlar aslında var ama obje olarak gözükmüyorlar nasıl hallederim

    • yasirkula dedi ki:

      Objelerin kameranın görüş alanında olduğunu varsayıyorum. Objelerin birinin materyalini Default-Diffuse ile değiştirmeyi deneyin. Eğer objelerin Layer’ı Default değilse kameranın Culling Mask’ine bu layer’ın ekli olduğundan emin olun.

  183. Hakan Alp dedi ki:

    Merhaba ben 2d bir ip yaptım ipime 2d jointlerinden küpler bağlamak istiyorum yapışmış şekilde fakat sadece 1 tane bağlamama izin veriyor oyunu oynuyan kişi istediği kadar blok koyabilsin ve onlar direk ipe ve diğer bloklara yapışsın istiyorum nasıl multiple joints yapabilirim acaba

  184. tuğçe dedi ki:

    Merhaba , unity 2d ile oyun yapıyorum C# script ile .Tuğla kırma oyunu; topun degdıgı tüm tuğlalar kırılınca dıger levele gecmesını ıstiyorum. nasıl yapabilirim?

    • yasirkula dedi ki:

      Tuğlalara tag olarak “Tugla” verin. Kameraya “TuglaSayisi” adında bir Javascript verip Start fonksiyonunda şu kodu çalıştırın:

      public static var count : int = 0;
      
      function Start() 
      {
      	count = GameObject.FindGameObjectsWithTag("Tugla").Length;
      }
      

      Her tuğla yok ettiğinizde (tuğlalara bir script verdiyseniz o scriptin OnDestroy fonksiyonunda) “TuglaSayisi.count–;” kodunu çalıştırın. Eğer TuglaSayisi.count’un değeri 0 ise tüm tuğlalar yok olmuş demektir.

  185. batıkan dedi ki:

    Önerebileceğiniz reklam sitesi var mı ? En iyisi admob mu ? Tıklama başına değilde gösterim başına iyi para veren reklam sitesi lazım. Bir de bu reklamlardan gelir 1 defaya mı mahsus yoksa aylık mı ?

  186. batıkan dedi ki:

    Bir uygulama yapıcam uygulamanın içine arama motoru koyacam ve bunu youtube yada benzeri bi sitesinden çekmesi lazım kısıtlı olarak bu mümkün müdür ? Mesela arama moturuna batıkan yazınca youtubedeki batıkan adındaki videolar gelsin. Kısıtlı olarak da sadece benim ismim girilsin gibi. Ahmet yazınca çıkmasın bişey.

    • yasirkula dedi ki:

      Kısıtlamayı direkt Unity içerisinden yapabilirsiniz. Girilen string’in istediğiniz özelliklere sahip olup olmadığını kontrol edersiniz. Youtube’dan videoları çekmek için hangi kütüphaneler, teknolojiler kullanılmalı konusunda ise bir bilgim yok.

  187. batıkan dedi ki:

    Google play store a uygulama yüklerken telif hakkı muhabbetini nasıl belli ediyoruz. Mesela ben ünlü birinin uygulamasını yapcam konuştum anlaştım fakat direkt store a koysam askıya almazlar mı? telif hakkından ve sonra 2. hesabımda banlancak 😀

  188. batıkan dedi ki:

    Unity de animasyon yaparken animasyonu kaldığı yerden nasıl devam ettirebiliriz hep en başa alıyor ? Mesela yarısı kırmızı yarısı yeşil renkte olan kareyi 180 derece döndürme animasyonunu e tuşuna atadım. e tuşuna basınca dönüyor fakat hep yeşil taraf üstte kalıyor baştan tekrarladığı için. bi kırmızıda bi yeşilde kalması lazım sırayla yani animasyonun devam etmesi lazım ?

    • yasirkula dedi ki:

      Güzel bir soru. Mecanim’de “Root Animation” diye bir şey var, belki oradan oluyordur ancak kesin bir bilgim yok. Animasyonlarla pek içli dışlı olmadım.

  189. bce dedi ki:

    hocam sadece oyun ilk açıldığında çalışıcak fakat 0. scene tekrar yüklenince çalışmayacak bir kod nasıl yazarım?

    • yasirkula dedi ki:

      A scriptinde “public static var ilkDefa : boolean = true;” isminde static bir değişkeniniz olsun. O zaman:

      if( A.ilkDefa )
      {
      A.ilkDefa = false;
      // tek sefer yapılacak şeyler buraya
      }

  190. bce dedi ki:

    Hocam sizinde sayenizde oyunumu yayınladım görüşlerinizi bekliyorum 😀

    https://play.google.com/store/apps/details?id=com.BurakEfe.BreakMadness&hl=tr

    • yasirkula dedi ki:

      Bence görsel anlamda oyunun kendine has bir tarzı olmuş, elinize sağlık. Sadece oyunun boyutu çok büyük geldi. Onun için ise import ettiğiniz texture’ların arasından özellikle çözünürlüğü yüksek olanların “Max Size”ını kademe kademe aşağı çekmeyi deneyin (Inspector’da Import Settings’in en altında). Texture’un kalitesi çok bozulmadığı sürece bunu yapmaya devam edin.

      Eğer çok fazla yer kaplayan bir müzik var ise onun da compression ayarlarıyla oynayarak boyutunun düşmesini ama kalitesinin çok fazla değişmemesini sağlayın.

  191. ardahan dedi ki:

    Merhabalar,

    Mouse hareketini takip eden bir script yazdım sabit hız kullanıyor ve transform.position ile işlem yapıyorum. Fakat bu kodu addforce ile yapmam istendi sabit hızla değilde mouse’ı nekadar çekersem o kadar mouse’a doğru hızlanıp kenarına gelince yavaşlayacak sanki top mousa bir iple bağlı şeklinde bir fizik yapısı istendi acaba bunu nasıl uygulayabilirim.

    kodumu aşağıda paylaştım.

    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;
    using System.Threading;

    public class MouseFollow : MonoBehaviour
    {
    #region DEGİSKENLER

    private Vector3 Position;
    RaycastHit hit;
    Ray ray;
    public float speed = 10f;
    private int sayac = 0;
    private bool durum = false;
    private int durum2 = 0;
    int position = 0;
    private bool flag = false;
    private Vector3 endPoint;
    public float duration = 50.0f;
    private float yAxis;
    private Rigidbody rb;
    #endregion DEGİSKENLER

    #region OLAYLAR
    void Start()
    {
    yAxis = gameObject.transform.position.y;
    Rigidbody rb = GetComponent();
    }

    void Update()
    {
    ray = Camera.main.ScreenPointToRay(Input.mousePosition);

    if (Physics.Raycast(ray, out hit))
    {
    flag = true;

    endPoint = hit.point;

    endPoint.y = yAxis;
    }

    if (flag && !Mathf.Approximately(gameObject.transform.position.magnitude, endPoint.magnitude))
    {
    if (sayac % 10 == 0)
    {
    position = Random.Range(10, 20);
    durum2 = Random.Range(0, 1);
    if (durum2 == 0)
    {
    position = position * -1;
    }

    if (durum)
    {
    float xx = position;
    endPoint.x -= xx;
    durum = false;
    }
    else
    {

    float xx2 = (float)position;
    endPoint.z -= xx2;
    durum = true;
    }

    Debug.Log(“Selamlar”);
    rb.AddForce(endPoint – gameObject.transform.position);
    //gameObject.transform.position = Vector3.Lerp(gameObject.transform.position, endPoint, 1 / (duration * (Vector3.Distance(gameObject.transform.position, endPoint))));

    for (int wait = 0; wait < 5000000; wait++)
    {

    }
    }
    else
    {
    //gameObject.transform.position = Vector3.Lerp(gameObject.transform.position, endPoint, 1 / (duration * (Vector3.Distance(gameObject.transform.position, endPoint))));
    }
    sayac++;
    }

    else if (flag && Mathf.Approximately(gameObject.transform.position.magnitude, endPoint.magnitude))
    {
    flag = false;
    Debug.Log("I am here" + sayac.ToString());
    }
    }
    #endregion OLAYLAR
    }

    Desteğiniz için şimdiden Teşekkür Ederim.

    • yasirkula dedi ki:

      Mesafeye bağlı olarak hızın değişmesi için Vector3.Lerp fonksiyonunu kullanabilirsiniz (veya Slerp’ü de deneyebilirsiniz). İki vektör arasındaki mesafe arttıkça hareket miktarı da artar. Lerp’ün 3. parametresi olarak mesafeden bağımsız birşey girin (mesela Time.deltaTime). Rigidbody kullanmanız isteniyorsa da MovePosition fonksiyonunu kullanabilirsiniz. AddForce ile objenin hareketini kontrol altında tutabileceğinizden emin değilim.

  192. Emir dedi ki:

    Ben Rigidbody 2d eklediğim de 2d oyunumdaki C# Script hata veriyor 😦

  193. İbrahim dedi ki:

    Hocam bir objenin özelliklerini (circle collider,script vb) klonladığımız eşyalara nasıl aktarabiliriz?

  194. ahmet dedi ki:

    hocam merhabalar.Bir sorum olacaktı unity içinde apk almaya çalıştığımda aldıpım hata şu

    (((Error building Player: CommandInvokationFailure: Failed to re-package resources. See the Console for details.
    F:\unity-sdk\build-tools\24.0.0\aapt.exe package –auto-add-overlay -v -f -m -J gen -M AndroidManifest.xml -S “res” -I “F:/unity-sdk\platforms\android-24\android.jar” -F bin/resources.ap_

    stderr[

    ]
    stdout[

    ]
    ))))
    acaba neden bakabilirmisiniz.Teşekürler

  195. ya bunun la ilgili hiç bir içerik bulamadım bir oyun yapatık diyelim ve bu oyunun sistem gereksinimlerini nasıl öğrene biliriz yani kısaca YAPTIĞIMIZ OYUNUN SİSTEM GEREKSİNİMLERİNİ NASIL ÖĞRENEBİLİRİZ bunun için test aracı yada ölçme hesap lama gibi bir şey var mı ? şunu da biliyorum kabaca bizim sistem gereksinimlerimiz ile aynı ama bunu ölçme fln bunu soruyorum kısaca büyük yazdığım yazının cevabı nedir geridönüş yaparsanız mailime sevinirim oktaymercanguest@gmail.com(not bu mail asıl mail değildir gereksiz işler için yada başka işler için bir maildir bunun gibi iletişim mailide denile bilir)

    • yasirkula dedi ki:

      Oyunu farklı cihazlarda elle test etmeniz lazım, otomatik olarak sistem gereksinimleri çıkaran bir araç yok. Oyununuz büyük olasılıkla çok eski cihazlarda bile çalışır ancak takılma sorunları olur. Çok kötü bir cihazdan kademe kademe daha iyi cihazlara geçiş yapıp oyunu test ederek minimum sistem gereksinimini belirleyebilirsiniz.

  196. Barış dedi ki:

    Candy Crush daki gibi zaman sistemi yapmak istiyorum. O oyunda can sistemi vardı belirli bir süre geçtikten sonra canlar artardı Candy Crush oyunu kapalı olsa bile. Öyle bir zaman sistemi yapmak istiyorum ama bende can sistemi falan yok benimki daha farklı olacak Diyelim ki oyunumuz 40 bölüm oyuncu 28. bölümde takıldı, bir buton olacak ona tıklayınca reklam gösterilecek ve 29 un kilidi açılacak bir daha butonun çalışması için 1 saat sonra ya da 15 dk nasıl ayarladıysam bekletecek oyun kapalı olsa da. O şekilde bir zaman sistemi nasıl yapabilirim bir fikriniz var mı

    • Barış dedi ki:

      Veya acaba bununla uğraşmasam mı 30 sn videolu reklam mı yapsam zaten kimse üst üste 2-3 kez tıklamaz artık sıkılır rewarded video için sadece unity ads mi kullanılıyor acaba gelirleri falan nasıl hiçbir fikrim yok

    • yasirkula dedi ki:

      System.DateTime.Now ile mevcut zamana erişebilirsiniz (tarih, saat, dakika ve saniyeyi depolar). Reklam gösterildikten sonra mevcut zamanın ToString’inden çıkan string’i cihazda depolayabilirsiniz. Bir daha reklam gösterilip gösterilemeyeceğini test etmek için ise bu string’i tekrar DateTime’a çevirebilir ve mevcut zaman ile arasındaki farkın istediğiniz uzunlukta olup olmadığını kontrol edebilirsiniz (bu fark otomatik olarak TimeSpan formatında tutulur). Örneğin:

      // Reklam gözüktükten sonra
      PlayerPrefs.SetString( "SonReklam", System.DateTime.Now.ToString() );
      
      // ...
      
      // Herhangi bir anda tekrar reklam gösterilip gösterilmeyeceğini kontrol etmek için
      if( PlayerPrefs.HasKey( "SonReklam" ) )
      {
      	System.TimeSpan zamanAraligi = System.DateTime.Now - System.Convert.ToDateTime( PlayerPrefs.GetString( "SonReklam" ) );
      	
      	// 1.5 saat geçtiyse
      	if( zamanAraligi.TotalHours > 1.5f )
      	{
      		// Reklam gösterilebilir
      	}
      }
      

      Rewarded video reklam sunan benim bildiğim şirketler Chartboost ve Unity Ads. Kimisi Chartboost’a daha iyi derken kimisi Unity Ads’i övüyor. Bence bir mediation ağı kullanarak (mesela Heyzap) her iki ağı da aynı anda kullanın.

  197. mehmet dedi ki:

    hocam Unity Wep playerın riski var mı

    • yasirkula dedi ki:

      Web Player bir süredir Chrome’da desteklenmiyor. İlaveten, Web Player ve WebGL’de bazı spesifik kısıtlamalar var ancak bu kısıtlamaları hatırlamıyorum, Unity’nin Manual’ına bakmanız lazım.

  198. kaan dedi ki:

    abi unity 3dnin sisitem gereksinimleri ne

  199. ahmet dedi ki:

    hocam ben bir tane kronometre yaptım salise 2 den başlıyor. Bunu önlemek için ne yapabilirim. ŞİMDİDEN TEŞEKKÜRLER

    • yasirkula dedi ki:

      Unity ile alakalı olduğunu sanmıyorum, kodlarınızda sıkıntı olabilir. 2 salise çok ufak bir süre olduğu için belki göz ardı etmekte sakınca yoktur.

  200. ahmet dedi ki:

    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;
    public class NewBehaviourScript : MonoBehaviour {
    public Text kronometre;

    void Update ()
    {
    salise+=Time.deltaTime*100;
    if (Mathf.FloorToInt(salise) > 99)
    {
    salise=0;
    saniye++;
    }
    kronometre.text = “”+Mathf.FloorToInt(saniye).ToString(“D2”) + “:” +Mathf.FloorToInt(salise).ToString(“D2”);;

    }

    }

  201. ahmet dedi ki:

    hocam çok teşekkür ederim. size sorulan bütün sorulara 24 saat içinde cevap vermişsiniz=)) buda gözümden kaçmadı. müthişsiniz. number one…

  202. ahmet dedi ki:

    Belki sorunun cevabını bilen olur diye kodu yukarı yazdım. Başlangıçta Start fonksiyonu time.timeScale=0 1 haftadır bu sorunla uğraşıyorum ama çözemedim bir türlü. salise 2 den başlıyor

    • yasirkula dedi ki:

      Time.timeScale’i Start yerine Awake fonksiyonunda 0 yapsanız sonuç değişiyor mu?

      • ahmet dedi ki:

        Bir an için umutlandım ama yinede olmadı hocam. İlginize alakanıza çok teşekkür ederim. Başka bir şekilde bi çakallık yapacağız artık :))

  203. Yunus dedi ki:

    Oyunum gereği Js kodu ile butonun rengini değiştirmem lazım.
    Nasıl değiştirebilirim ?
    Teşekkürler.

  204. Yunus dedi ki:

    İnternette vardı ama onlar olmadı.

  205. Liberator dedi ki:

    Slm, Unity’de oluşturduğum objenin köşelerinin daha belirgin görünmesini nasıl sağlayabilirim, Aslında benim yapmak isteğim şey mesela, aralarında hiç mesafe bulunmayan 30 tane kübü yan yana koyduğumuzda hiç biri seçili değilken sanki tek bir obje gibi görünüyor ama ben hepsinin ayrı birer obje olduğunun seçili değilken bile fark edilebilmesini istiyorum, bu mümkün mü, yardım edebilir misiniz?

  206. arif dedi ki:

    usta unity de hesap açamadım da bi yardım

  207. cyclone dedi ki:

    Merhaba, unity de bir objeyi seçili değilken nasıl seçiliymiş gibi gösterebilirim, 3ds max de edgesleri aktif ediyorum oluyordu ama unity de nasıl yapılacağını bilmiyorum yardım edebilir misiniz ?

    • yasirkula dedi ki:

      Objenin etrafında wireframe gözüksün istiyorsanız Unity’deki materyalde bir wireframe shader’ı kullanmanız lazım. Varsayılan olarak gelen bir wireframe shader’ı olmadığından internetten bulmalısınız.

      • cyclone dedi ki:

        Aradığım şey tam olarak buydu, teşekkürler cevap için, 25 dolarmış 😀

      • cyclone dedi ki:

        bir sorum daha olacaktı, bu wireframe shader’ı kullandığım objeyi şeffaf yapmam da mümkün mü?

      • yasirkula dedi ki:

        Orada açıklamanın altında yer alan “Try before purchase.”den shader’ı indirip deneyebilir(miş)siniz, şeffaflık konusunda benim de bilgim yok. İlaveten, “unity wireframe shader free” diye arama yaparsanız ücretsiz alternatifler de bulabilirsiniz.

  208. CYCLONE dedi ki:

    Son bir şey daha sorabilir miyim, postimg.org/image/7mmk0t00v/ Unity’de bunu yapabilmemiz mümkün mü?

  209. cyclone dedi ki:

    tmm teşekkürler yine de :]

  210. Cyclone dedi ki:

    Merhaba hocam, ben bir obje oluşturdum mouse ile üzerine gelince görünür olmasını ve mouse’ u çekince kaybolmasını istiyorum, bir şeyler denedim ama yapamadım, yardımcı olabilir misiniz

  211. ihsan herq dedi ki:

    Abicim ben unity kurdum, kayıt oldum ama açılmıyor.
    yani new project diyom açılyo gri bi ekran geliyo sonra bişe yok.

  212. Talha dedi ki:

    ben daha önce hiç birşey öğrenmedim başka yazılım dilleri hakkında da bilgim yok zaten nereden başlamamı önerirsiniz oyun yapmak istiyorum…

    • yasirkula dedi ki:

      Önce bir yazılım diline başlangıç/orta düzeyde girişin. Bu konuda Java’yı (Javascript değil!) rahatlıkla önerebilirim çünkü hem kaynak konusunda hiç sıkıntı yaşamazsınız hem de C# ile benzerliği dolayısıyla Unity’e geçiş yapmanız nispeten rahat olur. Ardından ücretsiz Türkçe/İngilizce video dersler ile Unity’e başlayıp öğrendiklerinizi bir yere not almanızı ve bu notları ara ara tekrarlamanızı öneririm. Dilerseniz yazılı dersler ve e-kitaplar da okuyabilirsiniz. Bu süreç bende işe yaradı, umarım sizde de yarar.

  213. mert dedi ki:

    asset storedeki free modellerle yaptıgım oyunu yayınlarsam sorun olur mu ?

  214. Ali Aslan dedi ki:

    assetsten alınan free modellerden telif hakkı yiyebilirmiyim acaba ?

  215. js dedi ki:

    Hocam bu kodda mesela sağa-sola basıldığında smooth birşekilde y rotasyonu değişiyor ama buton bırakıldığında da öyle kalıyor buton bırakılınca aynen smooth bir şekilde rotasyonu 0a dönsün istiyorum nasıl yapabilirim?üstteki ifin altına else{ y -= YRotationSpeed * Time.deltaTime; diyerek yapınca butona basılmayan tüm zamanı kapsıyo ve direkt sola dönüyo rotasyon.Yani else değilde if ( Input.GetKey(KeyCode.RightArrow) ) butonu bırakılınca demek istiyorum diyemiyorum:)

    if ( Input.GetKey(KeyCode.RightArrow) )
    {
    y += YRotationSpeed * Time.deltaTime;
    }

    if ( Input.GetKey(KeyCode.LeftArrow) )
    {
    y -= YRotationSpeed * Time.deltaTime;
    }

    • yasirkula dedi ki:

      Şöyle bir kod yazabilirsiniz:

      if ( Input.GetKey(KeyCode.RightArrow) )
      {
      y += YRotationSpeed * Time.deltaTime;
      }
      else if ( Input.GetKey(KeyCode.LeftArrow) )
      {
      y -= YRotationSpeed * Time.deltaTime;
      }
      else
      {
      y = Mathf.MoveTowards( y, 0f, YRotationSpeed * Time.deltaTime );
      }

  216. Yasin dedi ki:

    Hocam acaba unity nin hangi sürümünü indirmeliyiz

    • yasirkula dedi ki:

      Sitedeki son sürümü (5.5.2) indirebilirsiniz. 31 Mart’ya 5.6 çıkacak, çok kısıtlı bir kotanız varsa onu da bekleyebilirsiniz.

  217. JS dedi ki:

    İyi günler hocam bu spawn sisteminde yapmak istediğim 2 şey var çok şey denedim yapamadım. Birincisi sahnede en fazla 6 araba spawn edilebilsin 6 tane varsa 7.yi oluşturmasın .İkincisi de bu 10 aracın hepsi ayrı modeldir. Aynı model araçtan sahneye 2 tane spawn edilmesin yani car5 zaten sahnede varsa car5 oluşturmasın başka car oluştursun.Bunu nasıl yapabilirim acaba?

    static var StartDistance:float ;
    static var ZDistance: float ;
    static var MinLevel: float ;
    static var MaxLevel: float ;

    var PlayerCar: Transform ;
    var Cars:Transform[];
    private var ZLevel:float ;
    private var LastZPos:float ;

    function Start(){
    ZLevel = Random.Range(MinLevel, MaxLevel);
    LastZPos = PlayerCar.position.z + (StartDistance – ZLevel – ZDistance);
    }

    function Update () {
    if (PlayerCar.position.z – LastZPos >= ZLevel) {
    var LanePos = Random.Range (0, 4);
    LanePos = (LanePos – 1) * 4f-2f;
    Instantiate (Cars[Random.Range(0,10)], new Vector3 (LanePos, 0.52f, LastZPos + ZLevel + ZDistance), Quaternion.identity);

    LastZPos += ZLevel;
    ZLevel = Random.Range (MinLevel, MaxLevel);
    }}

    • yasirkula dedi ki:

      Şunun gibi bir şey işinizi görebilir:

      static var StartDistance:float ;
      static var ZDistance: float ;
      static var MinLevel: float ;
      static var MaxLevel: float ;
      
      var PlayerCar: Transform ;
      var Cars:Transform[];
      private var ZLevel:float ;
      private var LastZPos:float ;
      
      private var arabalar : Transform[] = new Transform[10];
      private var arabaSayisi : int = 0;
      
      function Start()
      {
      	ZLevel = Random.Range(MinLevel, MaxLevel);
      	LastZPos = PlayerCar.position.z + (StartDistance – ZLevel – ZDistance);
      	
      	ArabalariGuncelle();
      }
      
      function Update() 
      {
      	if (arabaSayisi < 6 && PlayerCar.position.z – LastZPos >= ZLevel) 
      	{
      		var LanePos = Random.Range (0, 4);
      		LanePos = (LanePos – 1) * 4f-2f;
      		
      		var randomArabaIndex : int = Random.Range( 0, 10 );
      		while( arabalar[randomArabaIndex] != null )
      		{
      			randomArabaIndex = ( randomArabaIndex + 1 ) % 10;
      		}
      		
      		arabalar[randomArabaIndex] = Instantiate (Cars[randomArabaIndex], new Vector3 (LanePos, 0.52f, LastZPos + ZLevel + ZDistance), Quaternion.identity);
      		arabaSayisi++;
      
      		LastZPos += ZLevel;
      		ZLevel = Random.Range (MinLevel, MaxLevel);
      	}
      }
      
      function ArabalariGuncelle()
      {
      	while( true )
      	{
      		// her 0.5 saniyede bir çalış
      		yield WaitForSeconds( 0.5 );
      		
      		arabaSayisi = 0;
      		
      		// sahnedeki araba sayısını hesapla
      		for( var i = 0; i < arabalar.Length; i++ )
      		{
      			if( arabalar[i] != null )
      				arabaSayisi++;
      		}
      	}
      }
      
  218. JS dedi ki:

    Mükemmel oldu elinize sağlık hocam.Bu yazdığınız koddan çok şey öğrendim.

  219. EgeCan dedi ki:

    Hocam sadece belli aralıkta rotate değiştirme adına hiçbir şey bulamadım yardımcı olur musunuz?

    • yasirkula dedi ki:

      InvokeRepeating ile bir fonksiyonu belli aralıklarla çağırabilirsiniz.

      • EgeCan dedi ki:

        Hocam demek istediğim şey;
        tuşa bastığımızda objenin rotationu time*deltaTime ile yavaş yavaş dönecek fakat 105’e gelince daha fazla gitmesini istemiyorum diğer ruşa basınca -15’e kadar dönmesini istiyorum.

        if(getKey “sağ tuş” && transform.rotation değeri < 90) {

        }

        Bunu işlemi deneyince işe yaramıyor fakat 90 yerine 0 yazdığımda çalışıyor, sıkıntı 0'dan başka bir sayı yazdığımda kabul etmiyor.

        Bir de transform yerine sanırım rigidbody ile addForce olayı varmış sanırım ama işin içine quertion, eular angles gibi terimler girdi, işin içinden çıkamadım.

        Olay basit sağa basınca vincin kolu bir sınırlı yere kadar dönebilecek; başka çözümünüz varsa seve seve kabul ederim.

      • yasirkula dedi ki:

        rotation yerine localEulerAngles.y veya eulerAngles.y deneyin.

  220. yürüyen unity dedi ki:

    beki siteye üye olmak yani hesap açmak ücretlimi

  221. ahmet dedi ki:

    Hocam merhabalar;
    Hocam unityde UI sisteminde butonun basılı tutulması olayını nasıl yapabiliriz.
    UI button da click yapma olayı varda basılı tutuğu sürece işleme sürecini nasıl kodlayabiliriz.
    Yardımcı olabilirmisiniz.
    Teşekkürler.

  222. samet aybaba dedi ki:

    selamun aleykum bende yeniyim . Bir sorum olacak ama tam tarif edemiyorum. Zor bela anlatmaya çalışayım.Şimdi 2 de oyunuz olsun.Mario mesela hani marıoda kutuya kafa atıyor ya.Sonra kutuda efekt oluşup altın çıkıyor. Benim istediğim şey marıo kutuya kafa attıgında 3 saniye o kutuya yapışıp kalsın. 3 sanıye sonra oyun tekrar devam etsın.Bunu nasıl saglayabilirim ?
    Lütfen okursanız cevaplar mısınız? şuanda bnm için çok acil

    • yasirkula dedi ki:

      Mario’yu Rigidbody2D ile kontrol ediyorsanız 3 saniye boyunca rigidbody’i isKinematic=true yapabilirsiniz. Aksi taktirde mario kutuya çarpınca bir boolean’ı true yapmalı ve bu boolean true olduğu sürece hareket etme kodlarınızı çalıştırmamalısınız. 3 saniye sonra boolean’ı geri false yapmanız lazım tabi. Bir işi 3 saniye sonra gerçekleştirmek için (isKinematic’i geri false yapmak veya boolean’ı false yapmak) Invoke( “FonksiyonIsmi”, 3 ); komutunu kullanabilirsiniz.

      • samet aybaba dedi ki:

        Teşekkür ederim. İnşallah bugun yorumuma denke gelirsiniz.Bu kezki sorum baya acil. Aşagıdaki scriptte karakter seçme sahnesi var. Yeterli altın olmadıgında kilit kapanıyor.Ben bunun yanında resimin gözükmemesini, yeterli altın saglandıgında gösterilmesini istiyorum bir türlü ekleyemedim .Ne yapmalıyım ?
        using UnityEngine;
        using System.Collections;
        using UnityEngine.UI;
        using UnityEngine.SceneManagement;
        using SgLib;

        public class CharracterSelector2D : MonoBehaviour
        {
        public GameObject displayedCharacterTemplate;
        public Vector3 pivot;
        public float spacing;
        [Range(0f, 1f)]
        public float slideSmoothness;

        public Text coinText;
        public Text priceText;
        public Image priceImg;
        public GameObject lockedButton;
        public GameObject unlockButton;
        public GameObject selectButton;
        public GameObject prevButton;
        public GameObject nextButton;

        public SunburstAnim sunburstAnim;

        private int currentCharacterIndex;
        private int numberOfCharacter;

        private GameObject root;
        private Vector3 snapPoint;

        public void Start()
        {
        currentCharacterIndex = CharacterManager.Instance.CurrentCharacterIndex;
        numberOfCharacter = CharacterManager.Instance.characters.Length;
        InitLayout();
        }

        public void InitLayout()
        {
        CreateRoot();

        Vector3 instantiatePos;
        for (int i = 0; i < numberOfCharacter; ++i)
        {
        instantiatePos = pivot + i * spacing * Vector3.right;
        GameObject g = Instantiate(displayedCharacterTemplate.gameObject, instantiatePos, Quaternion.identity) as GameObject;
        g.transform.SetParent(root.transform);
        g.GetComponent().sprite = CharacterManager.Instance.characters[i].sprite;
        }
        selectButton.SetActive(true);
        lockedButton.SetActive(false);
        unlockButton.SetActive(false);
        }

        public void CreateRoot()
        {
        root = new GameObject();
        root.name = “root”;
        root.transform.position = pivot;
        }

        public void Update()
        {
        coinText.text = SgLib.CoinManager.Instance.Coins.ToString();
        snapPoint = pivot – currentCharacterIndex * spacing * Vector3.right;
        root.transform.position = Vector3.Lerp(root.transform.position, snapPoint, 1 – slideSmoothness);

        UpdateButtons();
        }

        public void Next()
        {
        if (currentCharacterIndex 0)
        {
        –currentCharacterIndex;
        }
        }

        public void UnlockCurrentViewCharacter()
        {
        if (CharacterManager.Instance.characters[currentCharacterIndex].Unlock())
        {
        unlockButton.SetActive(false);
        priceText.gameObject.SetActive(false);
        priceImg.gameObject.SetActive(false);
        coinText.text = CoinManager.Instance.Coins.ToString();
        //CharacterManager.Instance.CurrentCharacterIndex = currentCharacterIndex;
        selectButton.SetActive(true);
        sunburstAnim.PlayAnim();
        SoundManager.Instance.PlaySound(SoundManager.Instance.unlock);
        }
        }

        public void Select()
        {
        CharacterManager.Instance.CurrentCharacterIndex = currentCharacterIndex;
        Back();
        }

        public void Back()
        {
        SceneManager.LoadScene(“Main”);
        }

        void UpdateButtons()
        {
        if (currentCharacterIndex == 0)
        prevButton.SetActive(false);
        else if (currentCharacterIndex == numberOfCharacter – 1)
        nextButton.SetActive(false);
        else
        {
        prevButton.SetActive(true);
        nextButton.SetActive(true);
        }

        Character currentViewCharacter = CharacterManager.Instance.characters[currentCharacterIndex];
        if (currentViewCharacter.IsUnlocked)
        {
        priceText.gameObject.SetActive(false);
        priceImg.gameObject.SetActive(false);
        unlockButton.SetActive(false);
        lockedButton.SetActive(false);
        selectButton.SetActive(true);
        }
        else
        {
        priceText.text = currentViewCharacter.price.ToString();
        priceText.gameObject.SetActive(true);
        priceImg.gameObject.SetActive(true);
        bool canUnlock = CoinManager.Instance.Coins >= currentViewCharacter.price;
        unlockButton.SetActive(canUnlock);
        lockedButton.SetActive(!canUnlock);
        selectButton.SetActive(false);
        }
        }
        }

      • yasirkula dedi ki:

        – Şu değişkeni ekleyin:
        private Image[] karakterResimleri;

        – InitLayout()’un başına şunu ekleyin:
        karakterResimleri = new Image[numberOfCharacter];

        – InitLayout()’un içindeki for’un sonuna şunu ekleyin:

        karakterResimleri[i] = g.GetComponent<Image>();

        – UpdateButtons()’ın içindeki currentViewCharacter.IsUnlocked’lu if-else’i şöyle güncelleyin:
        if (currentViewCharacter.IsUnlocked)
        {
        priceText.gameObject.SetActive(false);
        priceImg.gameObject.SetActive(false);
        unlockButton.SetActive(false);
        lockedButton.SetActive(false);
        selectButton.SetActive(true);
        karakterResimleri[currentCharacterIndex].enabled = true;
        }
        else
        {
        priceText.text = currentViewCharacter.price.ToString();
        priceText.gameObject.SetActive(true);
        priceImg.gameObject.SetActive(true);
        bool canUnlock = CoinManager.Instance.Coins >= currentViewCharacter.price;
        unlockButton.SetActive(canUnlock);
        lockedButton.SetActive(!canUnlock);
        selectButton.SetActive(false);
        karakterResimleri[currentCharacterIndex].enabled = false;
        }

  223. Faruk dedi ki:

    Ben Duvar Yapacam Kupun Üstüne Resmi Sürüklüyorum Resim İçine Giriyor Ama Gözükmüyor İlk Haliyle Kalıyor ( atıgım duvar resmi gözükmüyor kısacası)

    • yasirkula dedi ki:

      Project’te yeni bir Material oluşturun. Texture’u materyalin “Albedo”suna veya “Main Texture”una sürükle-bırak yapın. Ardından bu materyal asset’ini tutup küpün üzerine bırakın.

  224. samet aybaba dedi ki:

    Yasir Kula bir dakika ayrılma hemen deneyip geliyorum 😀 Bu ilk oyunum ve kodlarla olan son işim ::D Bir daha bulamyrm seni 😛

    • samet aybaba dedi ki:

      NullReferenceException: Object reference not set to an instance of an object
      CharracterSelector2D.UpdateButtons () (at Assets/_EmojiSlidingDown/Scripts/CharracterSelector2D.cs:136)
      CharracterSelector2D.Update () (at Assets/_EmojiSlidingDown/Scripts/CharracterSelector2D.cs:71)

      • yasirkula dedi ki:

        Şu fonksiyonu eklemeyi deneyin:

        void Awake()
        {
        karakterResimleri = new Image[CharacterManager.Instance.characters.Length];
        }

      • samet aybaba dedi ki:

        gene aynı hatayı aldım.Acaba yanlışmı ekliyorum kodları ? bakar mısın ? 2. olarakta ben bir public GameObject resimkapama atayıp. İçine resimimi koyuyordum. updatebuttonsdakinin içine falselerimi aktırıyordum. initloyout içindeki for döngüsündede atamalarımı yapıyordum.Fakat kodum aşagıdaysa resim kapama , yukarıdaysa karakterlerin resmi gözüküyordu.Ben oraya if değeri atamaya çalışmıştım olmamıştı.Bayadırda onu yapmaya çalışıyordum.

        public class CharracterSelector2D : MonoBehaviour
        {
        public GameObject displayedCharacterTemplate;
        public Vector3 pivot;
        public float spacing;
        [Range(0f, 1f)]
        public float slideSmoothness;

        public Text coinText;
        public Text priceText;
        public Image priceImg;
        public GameObject lockedButton;
        public GameObject unlockButton;
        public GameObject selectButton;
        public GameObject prevButton;
        public GameObject nextButton;
        private Image[] karakterResimleri;

        public SunburstAnim sunburstAnim;

        private int currentCharacterIndex;
        private int numberOfCharacter;

        private GameObject root;
        private Vector3 snapPoint;

        void Awake()
        {
        karakterResimleri = new Image[CharacterManager.Instance.characters.Length];
        }

        public void Start()
        {
        currentCharacterIndex = CharacterManager.Instance.CurrentCharacterIndex;
        numberOfCharacter = CharacterManager.Instance.characters.Length;
        InitLayout();
        }

        public void InitLayout()
        {
        karakterResimleri = new Image[numberOfCharacter];
        CreateRoot();
        Vector3 instantiatePos;
        for (int i = 0; i < numberOfCharacter; ++i)
        {
        instantiatePos = pivot + i * spacing * Vector3.right;
        GameObject g = Instantiate(displayedCharacterTemplate.gameObject, instantiatePos, Quaternion.identity) as GameObject;
        g.transform.SetParent(root.transform);
        g.GetComponent().sprite = CharacterManager.Instance.characters[i].sprite;
        karakterResimleri[i] = g.GetComponent();
        }
        selectButton.SetActive(true);
        lockedButton.SetActive(false);
        unlockButton.SetActive(false);
        }

        public void CreateRoot()
        {
        root = new GameObject();
        root.name = “root”;
        root.transform.position = pivot;
        }

        public void Update()
        {
        coinText.text = SgLib.CoinManager.Instance.Coins.ToString();
        snapPoint = pivot – currentCharacterIndex * spacing * Vector3.right;
        root.transform.position = Vector3.Lerp(root.transform.position, snapPoint, 1 – slideSmoothness);

        UpdateButtons();
        }

        public void Next()
        {
        if (currentCharacterIndex 0)
        {
        –currentCharacterIndex;
        }
        }

        public void UnlockCurrentViewCharacter()
        {
        if (CharacterManager.Instance.characters[currentCharacterIndex].Unlock())
        {
        unlockButton.SetActive(false);
        priceText.gameObject.SetActive(false);
        priceImg.gameObject.SetActive(false);
        coinText.text = CoinManager.Instance.Coins.ToString();
        //CharacterManager.Instance.CurrentCharacterIndex = currentCharacterIndex;
        selectButton.SetActive(true);
        sunburstAnim.PlayAnim();
        SoundManager.Instance.PlaySound(SoundManager.Instance.unlock);
        }
        }

        public void Select()
        {
        CharacterManager.Instance.CurrentCharacterIndex = currentCharacterIndex;
        Back();
        }

        public void Back()
        {
        SceneManager.LoadScene(“Main”);
        }

        void UpdateButtons ()
        {
        if (currentCharacterIndex == 0)
        prevButton.SetActive (false);
        else if (currentCharacterIndex == numberOfCharacter – 1)
        nextButton.SetActive (false);
        else {
        prevButton.SetActive (true);
        nextButton.SetActive (true);
        }

        Character currentViewCharacter = CharacterManager.Instance.characters [currentCharacterIndex];
        if (currentViewCharacter.IsUnlocked) {
        priceText.gameObject.SetActive (false);
        priceImg.gameObject.SetActive (false);
        unlockButton.SetActive (false);
        lockedButton.SetActive (false);
        selectButton.SetActive (true);
        karakterResimleri [currentCharacterIndex].enabled = true;
        } else {
        priceText.text = currentViewCharacter.price.ToString ();
        priceText.gameObject.SetActive (true);
        priceImg.gameObject.SetActive (true);
        bool canUnlock = CoinManager.Instance.Coins >= currentViewCharacter.price;
        unlockButton.SetActive (canUnlock);
        lockedButton.SetActive (!canUnlock);
        selectButton.SetActive (false);
        karakterResimleri [currentCharacterIndex].enabled = false;
        }
        }
        }

      • yasirkula dedi ki:

        Kapatmak istediğiniz resimde Image var diye düşündüm. Eğer ki Sprite Renderer varsa Image[] array’ini SpriteRenderer[] array’i ile değiştirip GetComponent’te SpriteRenderer kullanın. Yoksa açıkçası sıkıntı bulamıyorum koda bakınca.

      • samet aybaba dedi ki:

        spriterenderer arrayını çalıştırınca oldu. Gayette güzel çalışıyor ama. Bu şekilde resim komple gidiyor.Resimin kaybolması yerine orada benim atadıgım başkabir resimi nasıl gösterebilirim?

      • yasirkula dedi ki:

        public Sprite kilitliSprite; şeklinde değişken oluşturup değerini verin ve UpdateButtons’taki iki satırı şöyle güncelleyin:

        if (currentViewCharacter.IsUnlocked) {

        karakterResimleri [currentCharacterIndex].sprite = CharacterManager.Instance.characters[currentCharacterIndex].sprite;
        } else {

        karakterResimleri [currentCharacterIndex].sprite = kilitliSprite;
        }

  225. samet aybaba dedi ki:

    çok sağol buda oldu .Çok teşekkür ederim bir sorunum şu kaldı oda engel teşkil etmiyo ama zamanın varsa onada bakar mısın ?Biliyorum baya yordum seni ama hakkını helal et. Oyun başladıgında banner reklamı yüklenene kadar büyük bir kasma oluyor sonra düzeliyor ve oyunu build ettiğimde admobla ilgili şu hataları aıyorum.

    ….AdmobAPI / Admob.cs (9,40): warning CS0067: The event `admob.Admob.nativeBannerEventHandler ‘is never used

    …..AdmobAPI / Admob.cs (10,40): warning CS0067: The event `admob.Admob.nativeBannerEventHandler ‘is never used

    ….AdmobAPI / Admob.cs (11,40): warning CS0067: The event `admob.Admob.nativeBannerEventHandler ‘is never used

    ….AdmobAPI / Admob.cs (12,40): warning CS0067: The event `admob.Admob.nativeBannerEventHandler ‘is never used

    ———————————————————————————————
    benim scriptim.

    KOD TEMİZLENDİ.

    • yasirkula dedi ki:

      Bu konuda bir iyileştirme yapılabileceğinden emin değilim.

      • samet aybaba dedi ki:

        Peki çok çok teşekkür ederim küçük ayarlamarından sonra google playe yüküyorum.Allahın izniyle . Deneme amaçlı reklam kodlarımı koymuştum.2 görüntüleme 1 tık . 0.10 krş verdi bu sabit mi ? değişiyor mu 😀

      • yasirkula dedi ki:

        Değişiyor diye biliyorum.

  226. samet aybaba dedi ki:

    sa oyunu google playe yüklemeden önce platformunu düşüreyim dedim hata aldım . Minimum api leveli 9 yaptıgımda aşagıdaki hatayı alıyrm nette baya araştırdım ama cevabını bulamadım herkes bişi demiş manuel ayarlamaya çalıştım olmadı..

    CommandInvokationFailure: Unable to merge android manifests. See the Console for more details.
    C:/Program Files/Java/jdk1.8.0_121\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir=”C:/Users/aksel/AppData/Local/Android/android-sdk\tools” -Dfile.encoding=UTF8 -jar “C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar” –

    stderr[
    Error: [Temp\StagingArea\AndroidManifest-main.xml:22, C:\Users\aksel\Desktop\Unity3Ddenemeleri\New Unity Project 2\Temp\StagingArea\android-libraries\play-services-ads-10.2.0\AndroidManifest.xml:2] Main manifest has but library uses minSdkVersion=’14’
    Error: [Temp\StagingArea\AndroidManifest-main.xml:22, C:\Users\aksel\Desktop\Unity3Ddenemeleri\New Unity Project 2\Temp\StagingArea\android-libraries\play-services-ads-lite-10.2.0\AndroidManifest.xml:7] Main manifest has but library uses minSdkVersion=’14’
    Error: [Temp\StagingArea\AndroidManifest-main.xml:22, C:\Users\aksel\Desktop\Unity3Ddenemeleri\New Unity Project 2\Temp\StagingArea\android-libraries\play-services-base-10.2.0\AndroidManifest.xml:2] Main manifest has but library uses minSdkVersion=’14’
    Error: [Temp\StagingArea\AndroidManifest-main.xml:22, C:\Users\aksel\Desktop\Unity3Ddenemeleri\New Unity Project 2\Temp\StagingArea\android-libraries\play-services-basement-10.2.0\AndroidManifest.xml:2] Main manifest has but library uses minSdkVersion=’14’
    Error: [Temp\StagingArea\AndroidManifest-main.xml:22, C:\Users\aksel\Desktop\Unity3Ddenemeleri\New Unity Project 2\Temp\StagingArea\android-libraries\play-services-gass-10.2.0\AndroidManifest.xml:2] Main manifest has but library uses minSdkVersion=’14’
    Error: [Temp\StagingArea\AndroidManifest-main.xml:22, C:\Users\aksel\Desktop\Unity3Ddenemeleri\New Unity Project 2\Temp\StagingArea\android-libraries\play-services-tasks-10.2.0\AndroidManifest.xml:2] Main manifest has but library uses minSdkVersion=’14’
    ]
    stdout[

    ]
    exit code: 1
    UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
    UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
    UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
    UnityEditor.HostView:OnGUI()

    • yasirkula dedi ki:

      Google Play Services’ın ve Admob’un çalışması için minimum API 14 olmalı.

      • samet aybaba dedi ki:

        😀 sabah 7den beri boşunamı uğraşıyorum 😀 Sinir krizine girdim olmuyo olmuyo diye 😀 hiç oluru yok yani 😀 Bide spriteleri android için nasıl yapmalıyım ? Ben rgba 16 yaptım.Onun en iyi optimizasyonu nedir ? Yazını okudum ama orada göremedim

      • yasirkula dedi ki:

        Öncelikle saydam (transparent) olmayan sprite veya texture’ların “Alpha Source”unu “None” yapıyorum. Genel olarak “Compression”ı “Normal Quality”de bırakıyorum. Ancak bir texture veya sprite’ın pürüzsüz görünmesi çok önemliyse bu değeri “None” yapıyorum. Bazen sprite’lardaki “Generate Mip Maps” seçeneğini de kapatıyorum. Bu seçenek seçili olursa sprite veya texture uzaktan bakıldığında daha blurlu (ve bence daha hoş) duruyor ve daha az memory harcıyor. Ancak bazı UI elemanları keskin hatlarla (mipmap olmadan) daha iyi duruyor. Buna tamamen deneme-yanılma ile karar veriyorum.

      • samet aybaba dedi ki:

        Yasin kardeşim yardımların için çok teşekkür ederim https://play.google.com/store/apps/details?id=com.boardGames.CelebrityLadder oyun bu .Admob hesaplarını vs yeni açtım bazı kullanıcılarda reklam gözükmüyor bazılarında 2side çıkıyor bazılarında sadece geçiş çıkıyor.Bu yeni oldugundan dolayı mı yoksa benden kaynaklımı (Bugun ne olduysa artık heyecandan mıdır nedir ilk yanlışlıkla testi yayınladım sonra güncelledim oyun hata üstüne hata verdi sonra hrşeyi düzelltim şimdilik iş görür , o hatalar olmadan önce tele yüklediğimde internet içi vs izin istiyordu.Şuanda sadece medyaya istiyor acaba bundan mı kaynaklı ? reklamlar ? )

      • samet aybaba dedi ki:

        1 gün oldu fakat çoğu kişide banner reklamlarım gözükmüyor neden olabilir ki ?

      • yasirkula dedi ki:

        Rewarded video reklamlar denerken bende de çoğu zaman reklam gelmiyor; sebebi de genelde fill rate sıkıntısı. Ya banner reklamlarda da fill rate sıkıntısı vardır ya da Admob’a bir şeyler olmuştur. Dersi Admob’un kendi sitesindeki adımları takip ederek yazdığım için benim verdiğim kodda sıkıntı olmasını beklemiyorum. İsterseniz şu dersten faydalanarak Android’de bir hata alıyor musunuz kontrol edebilirsiniz: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/

  227. samet aybaba dedi ki:

    kardeşim ben bir sorun göremiyorum sende bakmıştın ama bir kez daha bakar mısın ? banner reklmı gözükmüyor , bazılarında. using UnityEngine;
    using System.Collections;
    using admob;
    public class AdDisplayer : MonoBehaviour
    {
    Admob ad;
    public static AdDisplayer Instance { get; private set; }
    public bool showBannerAd = true;
    public bool showInterstitialAd = true;
    public int gamesPerInterstitial = 3;
    public float showInterstitialDelay = 2f;

    private static int gameCount = 0;

    void OnEnable()
    {
    GameManager.GameStateChanged += OnGameStateChanged;
    }

    void OnDisable()
    {
    GameManager.GameStateChanged -= OnGameStateChanged;
    }

    void Awake()
    {
    if (Instance)
    {
    Destroy(gameObject);
    }
    else
    {
    Instance = this;
    DontDestroyOnLoad(gameObject);
    }
    }

    void Start()
    {
    initAdmob();
    // Show banner ad
    if (showBannerAd == true)
    {
    Admob.Instance().showBannerRelative(AdSize.SmartBanner, AdPosition.BOTTOM_CENTER, 0);
    }
    }

    void initAdmob()
    {
    ad = Admob.Instance();
    ad.bannerEventHandler += onBannerEvent;
    ad.interstitialEventHandler += onInterstitialEvent;
    // isAdmobInited = true;
    Admob.Instance().initAdmob(“ca-app-pub-dddd”, “ca-app-pub-sssss”);
    // ad.setTesting(true);
    Admob.Instance().setGender(AdmobGender.MALE);
    string[] keywords = { “salman”,”shahrukh”,”srk”,”aamir”,”khan”,”bollywood”,”india”,”hrithik”,”amitabh”,”kajol”,”priyanka”,”chopra”,”katrina”,”kareena”,”kapoor”,”barun”,”anushka”,”deepika”,”ranveer”,”shahid”,”ajay”,”devgan”,”sonakshi”,”ranbir”,”akshay”,”Rahman”,”Rakha”,”abraham”,”Parineeti”,”celebrity”};
    Admob.Instance().setKeywords(keywords);

    }

    void OnGameStateChanged(GameState newState, GameState oldState)
    {
    if (newState == GameState.GameOver)
    {
    // Show interstitial ad
    if (showInterstitialAd == true)
    {
    gameCount++;

    if (gameCount >= gamesPerInterstitial)
    {

    if (Admob.Instance().isInterstitialReady())
    {
    Admob.Instance().showInterstitial();
    }
    else
    {
    Admob.Instance().loadInterstitial();
    }
    gameCount = 0;

    }
    }
    }
    }

    void onInterstitialEvent(string eventName, string msg)
    {
    Debug.Log(“handler onAdmobEvent—” + eventName + ” ” + msg);
    if (eventName == AdmobEvent.onAdLoaded)
    {
    Admob.Instance().showInterstitial();
    }
    }
    void onBannerEvent(string eventName, string msg)
    {
    Debug.Log(“handler onAdmobBannerEvent—” + eventName + ” ” + msg);
    }

    }

  228. samet aybaba dedi ki:

    unity ile e dergi yapabilir miyim ? Yoksa onun için xamarin mi kullanmalıyım ? İnternette arattım ama bulamadım .İngilizce hepsi , bu konu için bildiğiniz tutorial varmı? 2.si ise unity de bir projemde şunu sağlamak istiyorum.(Android) Oyuncu ekrana dokunup parmagını gezdirdiği zaman arkada şeklinin çıkmasını o şekilede collider vermek istiyorum bunu nasıl yapabilirim? (örnegin adam ekrana s yazdı orada s şeklinin çıkmasını istiyorum .)

  229. JS dedi ki:

    Hocam mrb oyunlarda yandığımızda videodaki gibi skoru animasyonlu gibi sayarak gösterirya o nasıl yapılıyor acaba? mesela yandık skor 50 ise de 10000 ise de 0.5 saniyede saysın bunu nasıl belirleriz hızını falan.Skor sistemim zaten basit katedilen mesafeyi skor olarak alıyorum.

    ScoreOnScreen.text=Distance+””;
    YourScoreText.text=ScoreOnScreen.text; >>>>>En son skor paneli burası.Yandığımızda buraya yazılacak skoru saydırmak istiyorum.



    • yasirkula dedi ki:

      Şu kodu StartCoroutine( SkorSay( ScoreOnScreen, Distance, 0.5f ) ); şeklinde çağırabilirsiniz:

      IEnumerator SkorSay( Text textObjesi, int sonSkor, float saymaSuresi )
      {
      	float skorArtmaMiktari = sonSkor / saymaSuresi;
      	float skor = 0f;
      	
      	while( skor < sonSkor )
      	{
      		skor += Time.deltaTime * skorArtmaMiktari;
      		textObjesi.text = "" + ( (int) skor );
      		
      		yield return null;
      	}
      	
      	textObjesi.text = "" + sonSkor;
      }
      
      • JS dedi ki:

        Yapamadım hocam bu kodda sonSkor ve textobjesi diye değişkenler mi olurşturayım yoksa textobjesi dediğiniz benim koddaki ScoreOnScreen sonskor da Distance mi oluyor?Ben hep java çalıştım bu c# galiba ondan yapamadım heralde

      • yasirkula dedi ki:

        Evet o değişkenler zaten kodunuzda yer alan ScoreOnScreen ve Distance değişkenleri. Attığım kodun Javascript versiyonu şu:

        function SkorSay( textObjesi : Text, sonSkor : int, saymaSuresi : float )
        {
            var skorArtmaMiktari : float = sonSkor / saymaSuresi;
            var skor : float = 0;
             
            while( skor < sonSkor )
            {
                skor += Time.deltaTime * skorArtmaMiktari;
                textObjesi.text = "" + ( (int) skor );
                 
                yield;
            }
             
            textObjesi.text = "" + sonSkor;
        }
        

        Bunu SkorSay( ScoreOnScreen, Distance, 0.5 ); şeklinde çağırabilirsiniz. Eğer hata verirse SkorSay( ScoreOnScreen, (int) Distance, 0.5 ); şeklinde çağırmayı deneyin.

  230. melek dedi ki:

    hocam ben unityde flappy bird oyununu yapıyorum şuan oyunuma 3 can eklemek istiyorum yani kuş ölsün ama öldüğü yerden 3 kere devam edebilme hakkı olsun en sonundada skoru top 10 listesi gibi bi listede kaydetmek istiyorum nasıl bi yol kullanmalıyım, ilk kez unityde çalışıyorum pek bi bilgim yok

    • yasirkula dedi ki:

      Bir scriptte kuşun kalan canını tutup ilk değer olarak 3 verebilirsiniz. Kuş her öldüğünde bu değeri 1 azaltır ve eğer bu değer 0’dan büyükse kuşun position’ını ekranın ortasına alarak kuşu respawn edebilirsiniz. Tabi bu değer 0 ise yüksekskor tablosunu gösterip levela (scene) reset atmanız lazım. Yüksekskor sistemi için ise Google’da “unity yüksek skor” şeklinde arama yapmanızı öneririm, bu şekilde video dersler veya hazır kodlar bulabilirsiniz.

  231. Barış dedi ki:

    Kod ile sahnenin skybox’ını nasıl değiştirebilirim?

    • yasirkula dedi ki:

      RenderSettings.skybox = skyboxMateryali; yapabilirsiniz. Objelere vuran reflection’ın güncellenmesi için hemen ardından DynamicGI.UpdateEnvironment(); fonksiyonunu çağırmanız gerekebilir(miş).

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s