6 Mart 2016 Pazar

AreaEffector2D nedir nasıl kullanılır?

Cvp: AreaEffector2D 2D projelerimiz için kullanmış olduğumuz akış ve rüzgar etkisi yaratmak için kullanmış olduğumuz bir Component dir.

Ufaktan kodlamamıza geçelim, diyelim ki bir AreaEffector2D  olsun ve bu AreaEffector2D zamana bağlı olarak açıp açıp kapansın nasıl yapılır aşağdaki  areaEffectorCntrl C# scriptinde bakalım.

Algoritması ise şu şekilde;

1. Öncelikle 1 ve 10 arası bir sayı seçebilen Random.Range oluşturun.

2. Random.Range den seçilen sayıları bir karar yapısı ile 5 den küçük ise enabled = true büyük ise 
enabled =true yaptıralım


3. Son olarak  IEnumerator ile zamanlama işlemi yaptırarak kaç saniye boyunca  
enabled = true ve enabled = false yaptıracağımızı seçelim.



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

public class areaEffectorCntrl : MonoBehaviour {
   
    public AreaEffector2D effeck;
    int rüzgarAcKapa;
    int min = 1;
    int max = 10;

    public Text rüzgar;

    void Start () {
        effeck.enabled = true;
        effeck = GetComponent<AreaEffector2D> ();
    }
   
    void Update () {
           
        rüzgarAcKapa = Random.Range (min,max);
        StartCoroutine (deneme ());
    }

    IEnumerator deneme(){
        if(rüzgarAcKapa < 5){
            if(effeck.enabled == true){
            yield return new WaitForSeconds (5);
                windKapa ();
            }

        }
        yield return new WaitForSeconds (5);
        if(rüzgarAcKapa > 5){
            if(effeck.enabled == false){
                yield return new WaitForSeconds (5);
                windAcik();
            }
        }
    }

    void windAcik(){
        rüzgar.text = "Rüzgar Acık";
        effeck.enabled = true;
    }

    void windKapa(){
        rüzgar.text = "Rüzgar Kapalı";
        effeck.enabled = false;

    }
}



Gani BASABAK

Hiç yorum yok:

Yorum Gönder