30-01-2018, Saat: 19:45
Merhabalar, oyunumda karakter altın objesini alınca MoveTowards fonksiyonuyla altın objesini belirlediğim bir noktaya götürüyorum. Belirli noktaya gelince de altını yok ediyorum. Burada şöyle bir sorunla karşılaştım. Bir altını alınca altının hareketinde bir sıkıntı olmuyor. Fakat arka arkaya birden fazla altın alınca yani bir altının hareketi bitmeden diğer altını alınca MoveTowards fonskiyonu düzgün bir şekilde çalışmıyor. Bu sorun yazdığım koddan dolayı böyle. Fakat aklıma başka bir algoritma gelmedi. Tavsiyeleriniz varsa yorum olarak yazarsanız sevinirim. Yazmış olduğum kod aşağıda yer alıyor. NOT : Bu kodun olduğu script dosyası karakterde ekli. Karakter altın objesiyle etkileşime girdiğinde coinAnimBool true oluyor.
Kod:
private void Update()
{
if (coinAnimBool)
{
float step = speed * Time.deltaTime;
coinObject.transform.position = Vector3.MoveTowards(coinObject.transform.position, target.position, step);
if (target.position == coinObject.transform.position)
{
coinAnimBool = false;
CoinTextUpdate();
Destroy(coinObject);
}
}
}