该应用程序在模拟器上运行正常,但在安卓设备上无法运行。

我在安卓手机上测试了我的应用程序并在播放中间停止了。当场景即将更改时它会停止。(在模拟器上可以工作。) 我使用以下指令对其进行了调试:http://coronalabs.com/blog/2013/07/09/tutorial-basic-debugging/

这是它在 cmd 中给我的内容。

beginning of /dev/log/main
.....
I/Corona <24200>:cannonCharge
I/Corona <24200>:shot
I/Corona <24200>:event listener
I/Corona <24200>:Ball is colliding
I/Corona <24200>:在更改场景之前

然后它就停在这里,然后手机屏幕上弹出一个消息说气球游戏已经停止了。我认为代码的这部分出了问题。

   if (event.other == balloons[1])  then
     scene.updateScore()
     print('Ball is colliding')
     balloon1:removeSelf()
     balloon1 = nil
     balloonText1:removeSelf()
     balloonText1 = nil
     audio.play(pop)
     print('在更改场景之前')
     storyboard.gotoScene("correct1", "fade", 1000)
   end
   ...

我以为可能是文件名,因为我知道安卓是大小写敏感的,所以我把所有的文件名都改成了小写。图片显示了,所以我不认为有任何问题,但还是检查了一下。到目前为止,我不知道还能尝试什么,有什么建议吗?我尝试删除一些代码,发现一切都工作得很好,直到storyboard.gotoScene("correct1", "fade",1000)。我看不出有任何问题,甚至试图将其连接到一个不同的场景"results",结果也是一样的。

点赞
用户869951
用户869951

当面临这种情况时,一种有效的技术是在代码中添加多个打印语句,以便找到最后执行的一行。在这里,你在场景跳转之前加了一个打印语句,但是除非你在之后加一个,否则就无法确定是否卡在这里。

一旦你完成了这个步骤,就可以开始删除代码(注释掉)直到问题消失。问题不一定在卡住的那一行;它很容易就在之前的行,甚至是初始化时做的某些事情。因此,你需要注释掉大块的代码,但保留其结构(例如所有的场景跳转),只注释掉像音频、按钮(除了触发跳转所需的按钮)等内容。当删除代码后问题消失时,你至少可以查看一些东西(例如错误的配置值等)。

2014-03-26 01:05:28
用户2653067
用户2653067

上面的代码没问题,我找不到任何错误,所以请上传另一部分代码以便我检查。一般的建议是确保你正在使用正确的文件名和场景名称。

2014-07-21 06:27:25