C# 触摸检测在某些级别重新加载后变得更糟

C# 触摸检测在某些级别重新加载后变得更糟,c#,android,unity3d,C#,Android,Unity3d,我正在用unity创建一个2D游戏。我在Android上发现了一个问题。我有一个每次触摸屏幕时都会跳的球,在编辑器中它工作得很好,但在Android上,我“重新加载”(再次加载关卡)了几次后,球似乎无法识别近距离触摸,游戏变得无法玩。当我关闭游戏(从最近的应用程序中删除它)并重新打开它时,它又能正常工作了。我一直有大约30个游戏对象在场景中,但问题是为什么在重新加载后这个问题会更加明显?当我重新加载液位时,它不应该重置吗 我通过以下方式检测触球并使球跳跃: if (Input.GetMou

我正在用unity创建一个2D游戏。我在Android上发现了一个问题。我有一个每次触摸屏幕时都会跳的球,在编辑器中它工作得很好,但在Android上,我“重新加载”(再次加载关卡)了几次后,球似乎无法识别近距离触摸,游戏变得无法玩。当我关闭游戏(从最近的应用程序中删除它)并重新打开它时,它又能正常工作了。我一直有大约30个游戏对象在场景中,但问题是为什么在重新加载后这个问题会更加明显?当我重新加载液位时,它不应该重置吗

我通过以下方式检测触球并使球跳跃:

   if (Input.GetMouseButtonDown (0) || Input.GetKeyDown("space")) {
        gameObject.GetComponent<Rigidbody2D> ().constraints &= ~RigidbodyConstraints2D.FreezePositionY;
        gameObject.GetComponent<Rigidbody2D> ().constraints = RigidbodyConstraints2D.FreezePositionX;
        gameObject.GetComponent<Rigidbody2D>().velocity=Vector.up*speed;
        gameObject.GetComponent<AudioSource>().Play();
        gameObject.GetComponent<Rigidbody2D>().isKinematic=false;

    }
if(Input.GetMouseButtonDown(0)| | Input.GetKeyDown(“空格”)){
gameObject.GetComponent().constraints&=~RigidbodyConstraints2D.FreezePositionY;
gameObject.GetComponent().constraints=RigidbodyConstraints2D.FreezePositionX;
gameObject.GetComponent().velocity=Vector.up*speed;
gameObject.GetComponent().Play();
gameObject.GetComponent().IsKinetic=false;
}
这段代码在游戏主脚本的Update()中,我在Update()中有很多内容,但大多数都是在玩家输的时候执行的。 该脚本附加到一个游戏对象,该游戏对象也具有 -精灵渲染器 -刚体2d -PolygonCallider2D
-audiosource

闻起来像是内存泄漏。 没有源代码示例,这只是猜测,但我会检查事件订阅(EventX+=HandlerY)。也许可以在没有清除未使用订阅的机制的情况下多次注册某些事件


另见

闻起来像是内存泄漏。 没有源代码示例,这只是猜测,但我会检查事件订阅(EventX+=HandlerY)。也许可以在没有清除未使用订阅的机制的情况下多次注册某些事件


另请参见

对不起,我是Unity的新手,我不太明白你在说什么。我想说的是:我认为每次重新加载都会做一些事情,而这应该只做一次。因此,下次重新加载时不应再次执行,或者您首先需要“重置”某些内容。我已签入Start(),我注意到每次场景开始时,我都会请求我的横幅,这可能是问题所在吗?可能是,可能不是,取决于您对它做了什么以及如何。。。你真的应该在问题中添加你的代码,没有它是很难帮助的。对不起,我是Unity的新手,我不太明白你在说什么。我想说的是:我想每次重新加载都会做一些事情,应该只做一次。因此,下次重新加载时不应再次执行,或者您首先需要“重置”某些内容。我已签入Start(),我注意到每次场景开始时,我都会请求我的横幅,这可能是问题所在吗?可能是,可能不是,取决于您对它做了什么以及如何。。。你真的应该在问题中添加你的代码,否则很难帮助。请在脚本中发布你的触摸描述代码和信息,以及它所附加的对象类型请在脚本中发布你的触摸描述代码和信息,以及它所附加的对象类型