Merhaba arkadaşlar, unityde oluşturduğumuz nesnelerin kod ile görünümlerini bazen değiştirmek isteriz. Sprite olarak oluşturduğumuz görünüm dosyalarında bu değişiklikleri kod ile nasıl değiştiririz işte burada yazacağımız kod bize bu değişikliği sağlayacaktır.
Örneğin; ilerleyen bir nesnemizin zıplarken farklı bir görünüme sahip olmasını isteriz.
public Sprite changeObject;
public GameObject object = new GameObject();
void Start()
{
object.gameObject.GetComponent<SpriteRenderer>().sprite = changeObject;
}
bu satırda gerçekleştirdiğimiz atama işlemi ile, nesnemizin sahip olduğu görünümü başka bir görünüm ile değiştirmekteyiz.
unity3d etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
unity3d etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
16 Haziran 2016 Perşembe
14 Haziran 2016 Salı
use properties for gameObject | Nesnenin özelliklerini kullanma, Unity3d
Script dosyasını oluşturduktan sonra AddComponent ile öncelikle nesnemin kontrolörüne(inspector) ekliyorum.
Add Componente tıkladıktan sonra Component menüsünden Scripts i seçiyorum. Burada görünen İsimler daha önceden oluşturmuş olduğum Script dosyalarımın isimleridir. Nesneme eklemek istediğim Script dosyasının ismini bu menüden bularak tıklıyorum ve kontrolörüme(inspector) ekliyorum. Ekledikten sonra kontrolörümde(inspector) Script dosyamın eklendiğini görüyorum.
Nesnem ile Script dosyamı birleştirdikten sonra Script dosyamda nesnemin özelliklerini kullanacağım.
İlk öğrendiğim metod Script dosyamda
public GameObject cube;
değişken tanımlaması yapıyorum. Bu tanımlamadan sonra dosyamı kaydedip Unitye dönüyorum. Nesneme tıkladıktan sonra kontrolörde(inspector) Script özellikğimin eklendiği bölüme geliyorum ve burada Script dosyasında tanımlama yaptığım değişkenimin adının yazıldığını görüyorum.
Değişken adının yanında bulunan "None" değerinin üzerine, Project sekmesinde bulunan nesnemi basılı tutup bırakıyorum.
bu işlemi yaptıktan sonra, Script dosyamda cube değişkeninde yaptığım değişiklikler oyundaki nesnemin üzerindeki değişikliklere neden olacaktır.
İkinci öğrendiğim metod ise Script dosyamda
public GameObject cube = GameObject.Find("Cube");
tanımlaması ile ilk yöntemim gibi nesneme ile script dosyamdaki değişken ile müdahale edebileceğim. Burada bulunan Find fonksiyonu içerisine verilen parametre adı Hierarchy sekmesindeki nesnemin adı ile aynı olmalıdır.
Bu tanımlamalar ile yapılan bir örnek kod paylaşmak isterim.
bu tanımlama sayesinde cube nesnemin bulunduğu pozisyon her üst ok ile alt oka tıklamamla değişecektir.
Unity3d InvokeRepeating, Invoke ve CancelInvoke nedir ? | What is InvokeRepeating, Invoke and CancelInvoke on Unity3d ?
Yeni başladığım unityle karşılaştığım bir metodu sizinle paylaşacağım. Bu metod ile unityde süreklilik sağlayabilmekteyiz. Yani Unity3d de nesneler üzerinde sürekli işlemler yaptırmak istiyorsak zamanlayıcı gibi kullanabileceğimiz InvokeRepeating metodu bize oldukça yardımcı olmaktadır. Bu metodun kullanımı:
şeklindedir. InvokeRepeating' in ilk parametresi olan "PropFunction" string değeri, fonksiyonun ismidir. Biz fonksiyonun ismini vererek o fonksiyonu InvokeRepeating fonksiyonunda sürekli çağırmasını sağlamaktayız.
İkinci parametre olan 3 değeri ile InvokeRepeating metodunu, programın çalışmasında sonraki başlatılma süresidir. Yani program başladıktan 3 sn sonra InvokeRepeating çalışmaya başlayacak.
Son parametre olan 1 ise string olarak ismini verdiğimiz fonksiyonun kaç saniyede bir sürekli çalışması istiyorsak verdiğimiz değerdir.
Invoke metodumuz ise süreklilik ifade etmeden bir kereliğine çalıştırmak istediğimiz fonksiyonlar için kullanılmaktadır. Örneğin, Invoke metodumuz da başlangıçta belirleyeceğimiz değerleri fonksiyon çağrısı yaparak tanımlayabiliriz. Çalışacak fonksiyon için program başlamasından sonra belirli bir süre sonra çalışmasını istiyorsak bu fonksiyonun özelliğini kullanarak bunu gerçekleştirebiliriz.
İlk parametre ile fonksiyonumuzun ismini vererek çağırma işlemi gerçekleştiriliyor. İkinci parametremiz sayesinde ise fonksiyonun kaç saniye sonra çalışmasını istiyorsak o süre aralığını vererek istenilen zamanda çalışmasını istiyoruz.
CancelInvoke fonksiyonu, çalışan invoke fonksiyonunu sonlandırmak için kullanılır. Mesela InvokeRepeating fonksiyonumuz çalıştıktan sonra sürekli olarak çalışacaktır. InvokeRepeating fonksiyonun sürekliliğinin engellenmesini istediğimiz anda CancelInvoke metodunu çalıştırılarak sonlandırmış olacağız.
Görüldüğü gibi tek parametre alan CancelInvoke fonksiyonunun aldığı parametre, Daha önceden InvokeRepeating ile çalıştırdığımız fonksiyonun ismini vererek o fonksiyonun çalışmasını durdurmaktayız. CancelInvoke fonksiyonu son kez çağırılan fonksiyonun sonlanması ile sonlanacaktır. Çağırılan fonksiyon kesmeye uğramayacaktır.
şeklindedir. InvokeRepeating' in ilk parametresi olan "PropFunction" string değeri, fonksiyonun ismidir. Biz fonksiyonun ismini vererek o fonksiyonu InvokeRepeating fonksiyonunda sürekli çağırmasını sağlamaktayız.
İkinci parametre olan 3 değeri ile InvokeRepeating metodunu, programın çalışmasında sonraki başlatılma süresidir. Yani program başladıktan 3 sn sonra InvokeRepeating çalışmaya başlayacak.
Son parametre olan 1 ise string olarak ismini verdiğimiz fonksiyonun kaç saniyede bir sürekli çalışması istiyorsak verdiğimiz değerdir.
Invoke metodumuz ise süreklilik ifade etmeden bir kereliğine çalıştırmak istediğimiz fonksiyonlar için kullanılmaktadır. Örneğin, Invoke metodumuz da başlangıçta belirleyeceğimiz değerleri fonksiyon çağrısı yaparak tanımlayabiliriz. Çalışacak fonksiyon için program başlamasından sonra belirli bir süre sonra çalışmasını istiyorsak bu fonksiyonun özelliğini kullanarak bunu gerçekleştirebiliriz.
İlk parametre ile fonksiyonumuzun ismini vererek çağırma işlemi gerçekleştiriliyor. İkinci parametremiz sayesinde ise fonksiyonun kaç saniye sonra çalışmasını istiyorsak o süre aralığını vererek istenilen zamanda çalışmasını istiyoruz.
CancelInvoke fonksiyonu, çalışan invoke fonksiyonunu sonlandırmak için kullanılır. Mesela InvokeRepeating fonksiyonumuz çalıştıktan sonra sürekli olarak çalışacaktır. InvokeRepeating fonksiyonun sürekliliğinin engellenmesini istediğimiz anda CancelInvoke metodunu çalıştırılarak sonlandırmış olacağız.
Görüldüğü gibi tek parametre alan CancelInvoke fonksiyonunun aldığı parametre, Daha önceden InvokeRepeating ile çalıştırdığımız fonksiyonun ismini vererek o fonksiyonun çalışmasını durdurmaktayız. CancelInvoke fonksiyonu son kez çağırılan fonksiyonun sonlanması ile sonlanacaktır. Çağırılan fonksiyon kesmeye uğramayacaktır.
Etiketler:
cancelinvoke nedir,
invoke nedir,
invokerepeating nedir,
unity,
unity tekrarlama,
unity3d,
what is cancelinvoke,
what is invoke,
what is invokerepeating
Kaydol:
Kayıtlar (Atom)