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