Patterns etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Patterns etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

26 Temmuz 2016 Salı

UNITY ONMOUSEDOWN KOMUTU

void OnMouseDown ()
    {
        rigidbody.AddForce(-transform.forward * 500f);
        rigidbody.useGravity = true;
    }
Bu komut ile nesnenin üzerine mouse ile tıklanıldığında ne yapılacağını göstermiş olursunuz.Mouse ile tıklanıldığında sadece 1 kez çalışır.Basılı tutulması gibi durumlar için veya mouse üzerine gelince bırakınca gibi kodlar için IPointer interfaceleri tanımlanmalıdır.Bunlar ise eventSystem içindedir.Genelde canvas ve UI elemanlar için kullanırım.Lakin onMouseDown komutu oyun için de kullanılır. 

21 Temmuz 2016 Perşembe

TRANSLATE VE ROTATE



 void Update ()
    {
        if(Input.GetKey(KeyCode.UpArrow))
            transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
        
        if(Input.GetKey(KeyCode.DownArrow))
            transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);
        
        if(Input.GetKey(KeyCode.LeftArrow))
            transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);
        
        if(Input.GetKey(KeyCode.RightArrow))
            transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
    }
Bu kod ile Translate ve Rotate fonksiyonunu görmekteyiz. Translate bir nesnenin hareketini sağlar. Eski konumunun üzerine ekleme usülü ile çalışır. Rotate ise bir nesneyi belirletiğimiz yönde döndürmeye yarar aynı translate mantığıyla çalışır.

7 Aralık 2015 Pazartesi

Design Patterns - Singleton

Design Patterns - Singleton


  Bir nesneden sadece 1 tane üretilmesini sağlayan tasarım kalıbıdır.2 adet kuralı vardır


  • Başka yerde üretilmediğinden emin ol.
  • Tek bir noktadan her yere erişim ver.
  Tek kullanıcılı bir otomasyon yaptığımızı düşünelim.Tek kullanıcı olduğundan profili tek yapar ve tüm para değerlerini orada tutmak isteyebiliriz.(Sadece bir örnek)

  Öncelikle başka yerde üretilip üretilmemesini kontrol etmek için yapılandırıcısını dışarıya kapalı hale getiririz.
  


class Profil
    {
        private static Profil profil = new Profil();

                   //Yapılandırıcı private
        private Profil() { }

    }

  Fakat bu şekilde bırakırsak bu nesne sadece içeride üretilebilir ve oda hiçbir işimize yaramaz.Bu bakımdan bu koda static bir erişim fonksiyonu ekliyoruz.


class Profil
    {
        private static Profil profil = new Profil();

                   //Yapılandırıcı private
        private Profil() { }

        //üretim fonksiyonu
        public static Profil getProfil()
        {
            return profil;
        }
    }

  Artık bu fonksiyona ulaşmak için yapılacak tek şey 
Profil a=Profil.getProfil(); deyip a ya profildeki nesne adresini atamak.Şuanda tüm şartları sağlıyor hem 1 tane üretiliyor hemde herkez aynı nesneyi kullanıyor.