2015-04-07 250 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

完成,希望现在更清楚一点。谢谢! –

相关问题