2016-04-06 22 views
0

Sadece Birlik editörü oyunumu test edilmiş ve tüm gayet iyi çalışıyor çalışmıyor deyimi ise basit: yürütülürse y altındadır -3 ama ne zamanAndroid'e Unity -

void Update() { 

     if (transform.position.y < -3f) { 

      Debug.Log ("game over!"); 
      prepareGame(); 


     } 

    } 

Tüm ince Works ...

Oyunu verdiğimde ve android üzerinde test ettiğimde, if ifadesi hiç bir zaman çağrılıyor!

Droid sürümünde debuged ve Y değeri AŞAĞIDA -3 ama yine de asla çağrılmadıysa ve oyun hiç bitmiyorsa ... neden?

+0

yok bu çözüm

için gereken miktardan fazla olabilir 'yerine güncelleme fixupdate'. – tim

+0

belki prepareGame() kodunuz bozuk. Kodu – Programmer

+0

kodunda yayınlayın, editörde çalışır ... ve aynı zamanda bluestacks android simülatörde, ancak gerçek cihazda ... no ... https: //www.dropbox.com/s/bnmxhl7ewb456eb/prepareCode. txt? dl = 0 – mirzahat

cevap

1

Float değerlerini karşılaştırmamak için en iyi yöntemler budur.

Çözeltiler:

1) kullanımı Mathf.Approximately (float b, a yüzen) link

2) kullanımı Mathf.RoundToInt (float f) link

3) tetikler kullanın. Bu ben belki kullanımını deneyebilirsiniz düşünüyorum yeterince 3. bağlamak temsilcisi ama arama Collider.OnTriggerEnter (Çarpıştırıcısı)

+0

Int kullanıyorum ama hala sayıları karşılaştırırken işe yaramıyor 3 -3 gibi ... – mirzahat