2015-04-07 251 views
1

我有2個對象與碰撞器。球體對象( 「球」)應與網格( 「目標」)碰撞:PC模擬器碰撞工作,但不是在Android設備上

  • 球撞機
  • 網撞機

他們都非kimetric。

我用下面的代碼:

function OnCollisionEnter(theCollision : Collision){ 
    if(theCollision.gameObject.name == "goal") 
    { 
     (tm.GetComponent(TextMesh) as TextMesh).text = "enter1"; 
     forceAmount.z=-1000; 
     rb.AddForce(forceAmount); 
    } 
} 

代碼工作在統一模擬器 完美的,但是當我建立到apk文件,並安裝在我的Android平板電腦它不是作品。

任何人都可以幫助我嗎?

回答

1

這樣做的統一方式是將遊戲對象設置爲Tag。標籤的使用是重量輕,你可以設置從編輯標籤,然後使用:

if (theCollision.gameObject.tag == "goal") 
+0

如果它在編輯器中使用名稱工作,那麼它應該在android上工作,或者我們使用名稱或標記。 – LumbusterTick

+0

性能差異可能會導致碰撞錯過! – Dinal24

+0

嗯......你是對的。 – LumbusterTick

0

我遇到了類似的問題 - 在編輯器中,但不是在Android的檢測碰撞。我通過調整半徑從0.5到20來解決它。

0

我有同樣的問題,似乎有一些問題,Unity將標籤部署到Android設備。

在我的場景中,我有一個RigidBody和一個PreFab(設置爲觸發器)。在我的代碼中,我設置了OnTriggerEnter來檢查觸發項目的標籤,並且如果它與我的PreFab標籤相同,我會隱藏該項目觸發。

此代碼在我的編輯器中完美工作,但是,當我將此解決方案部署到Android設備時,它無法正常工作。

經過測試並修改了一些東西之後,解決了這個問題的方法是爲我的PreFab使用預定義的標記之一(而不是我使用「PickUpItem」的自定義標記)。

在我看來,統一發送自定義標籤到Android設備有問題,但對於預設標籤,它工作正常。

+0

可以請[編輯](http://stackoverflow.com/posts/41926454/edit)提供更多詳細信息?我不是這個話題的專家,但你的答案似乎有點太短,不能成爲一個好的答案。我也建議你閱讀http://stackoverflow.com/help/how-to-answer –

+0

完成,希望現在更清楚一點。謝謝! –

相關問題