经过一些场景更改后,Cocos2d问题触及屏幕边缘的精灵无法正常工作

时间:2013-06-19 18:34:49

标签: memory cocos2d-iphone sprite touches

我的游戏应用程序即将完成,但我仍然必须克服一个奇怪的问题。

游戏是关于触摸精灵,当触摸他们旋转。 但是经过一些场景变化或者换句话说,水平机会之后,iphone屏幕边框上的精灵很难触及。我已经监控了触摸。该方法甚至没有注册触摸:

- (void)ccTouchEnded:(UITouch *)触及withEvent:(UIEvent *)事件{

当我在精灵旁边触摸时,触摸被注册。我怀疑它与释放前面的场景或释放精灵阵列或者释放精灵有关...

我现在还不知道如何处理这个问题,以及如何从水平选择器场景前后整齐地切换到游戏场景。

也许读过这个论坛的人有同样的问题并且已经解决了。

非常感谢您的想法和建议。

顺便说一句:在我第一场比赛的积分场景中,我会提到stackoverflow.com网站及其成员的帮助,这是一个很棒的论坛。

谢谢你们,我快到了!

史蒂夫乔布斯会说:哦,还有一件事。 。 。

----------------------------- update ----------------- ----------

嗨,

这是一个更新, 我开始在onexit方法中发布Array,但这并没有带来快乐。 每次发布调用都会导致崩溃,可能会在我之前发布它们。

似乎有些帮助并将问题进一步推进的事情是我在释放sprite后直接将它们添加到sprite数组中。 在我看来,我在正确的轨道上,但问题仍然会在一段时间后回来。

约翰

----------------------------第二次更新----------------- ---------

您好,

之前的更新表明问题会变得更少是不对的。 游戏仍然受到触摸问题的困扰。 我把它缩小到记分牌场景和戏剧级场景变化。记分牌场景可能是问题制造者,但在哪里? 我在这里只使用4个精灵,以及一些移动动作,当分数的某些部分比以前更好时会出现。 记分板场景正在使用计时器方法,但我在onexit方法上无效并“nil”它们。

我仍然非常困惑。

约翰

------------------------- update 3 -------------------- ---------

Oke SO不是论坛, 但我必须说这是一个很好的门户网站,可以发布隐藏编程的问题。

在这种情况下,我无法透露所有代码,这将是这个问题的一部分,我想它会显示有关此游戏的太多知识信息,我很抱歉。

我有兴趣看看是否有人在阅读这个SO网站时遇到了同样的问题并找到了解决方案。当其中一个人给我一些指导来解决触摸问题时,我会非常感激。

我对SO网站的误解感到非常抱歉,但我仍然希望得到其中一位SO访客的回答。

与此同时,我正试图自己解决问题。如果我在其他人给我一些帮助之前找到解决方案,我会发布解决方案以帮助其他SO访问者。

-------------------------找到解决这个问题的方法---------------- ----------------------

如前所述,这是我的第一款应用。可能像其他初学者一样,有时我们会遇到奇怪的问题。抓头没有帮助。我之前遇到了一些问题,一个是在stackoverflow.com的帮助下解决的。但它并不像触摸问题那样奇怪。该应用程序也从不稳定性中解脱出来,而不是本文前面的精神错误。

下面你会找到问题,触摸和不稳定的解决方案。我在这里作出忏悔,这是一个初学者的错。我在应用程序中解雇了NStimers和调度程序,当关卡完成后,我切换到另一个没有安排相关调度程序的场景。愚蠢的我!!!我发现了一个奇怪的行为,当日志向我显示超过45次调用记分板场景的同一个init时,f ** k是什么?

所以,我将调用从一个场景更改为另一个场景,杀死了调度程序和计时器以及WHOLA!触摸问题得到解决,稳定性又回来了。

在一秒钟内调用初始场景或整个场景时,您会有什么期望!这是一个定时炸弹,保险丝很短!

所以,这里是所有其他对象的C ++启动器,但可能你已经知道了这一点,但无论如何我不能再把它拿到自己身上了:“当你和调度员和定时器一起工作时想想!!!”

我已经吸取了教训。

现在我回到了赛道上,希望很快能完成te App!

问候,

约翰

1 个答案:

答案 0 :(得分:0)

-------------------------找到解决这个问题的方法---------------- ----------------------

如前所述,这是我的第一款应用。可能像其他初学者一样,有时我们会遇到奇怪的问题。抓头没有帮助。 我之前遇到了一些问题,一个是在stackoverflow.com的帮助下解决的。 但它并不像触摸问题那样奇怪。该应用程序也从不稳定性中解脱出来,而不是本文前面的精神错误。

下面你会找到问题,触摸和不稳定的解决方案。我在这里作出忏悔,这是一个初学者的错。 我在应用程序中解雇了NStimers和调度程序,当关卡完成后,我切换到另一个没有安排相关调度程序的场景。愚蠢的我!!! 我发现了一个奇怪的行为,当日志向我显示超过45次调用记分板场景的同一个init时,f ** k是什么?

所以,我将调用从一个场景更改为另一个场景,杀死了调度程序和计时器以及WHOLA!触摸问题得到解决,稳定性又回来了。

在一秒钟内调用初始场景或整个场景时,您会有什么期望!这是一个定时炸弹,保险丝很短!

所以,这里是所有其他对象的C ++启动器,但可能你已经知道了这一点,但无论如何我不能再把它拿到自己身上了:“当你和调度员和定时器一起工作时想想!!!”

我已经吸取了教训。

现在我回到了赛道上,希望很快能完成te App!

问候,

约翰