-2

我的游戏应用程序快完成了,但我仍然需要克服一个奇怪的问题。

游戏是关于触摸精灵,触摸时它们会旋转。但是经过几次场景变化或换句话讲,关卡机会后,iphone屏幕边框上的精灵就很难触摸了。我已经监视了触摸。触摸甚至没有被该方法注册:

-(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event{

当我触摸精灵旁边时,触摸已注册。我怀疑它与释放以前的场景或释放精灵数组或释放精灵有关......

我只是现在还不知道如何处理这个问题,以及如何巧妙地从关卡选择器场景来回切换到运动场场景。

也许阅读此论坛的其他人也遇到了同样的问题并已解决。

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

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

谢谢大家,我快到了!

正如史蒂夫乔布斯所说:哦,还有一件事。. .

- - - - - - - - - - - - - - - 更新 - - - - - - - - - - --------

你好,

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

似乎有助于解决问题并将问题进一步转移的事实是,我正在释放精灵,直接在精灵被添加到精灵数组之后。在我看来,我走在正确的轨道上,但问题仍然会在一段时间后再次出现。

约翰

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

你好,

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

我还是很不解。

约翰

------------------------- 更新 3 ------------------------ ------

Oke SO 不是论坛,但我必须说它是发布有关编程问题的绝佳门户。

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

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

我很抱歉误解了 SO 网站,但我仍然希望得到其中一位 SO 访问者的回答。

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

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

如前所述,这是我的第一个应用程序。可能像其他初学者一样,有时我们会遇到奇怪的问题。挠头也无济于事。之前我遇到了一些问题,其中一个问题是在 stackoverflow.com 的帮助下解决的。但这并不像这个触摸问题那么奇怪。该应用程序也摆脱了不稳定,本文前面没有提到。

您可以在下面找到解决问题、触摸和不稳定性的方法。我在这里承认,这是初学者的错误。我已经在应用程序中解雇了 NStimers 和调度程序,当关卡完成时,我切换到另一个场景而没有取消调度相关的调度程序。愚蠢的我!!!当日志向我显示对记分板场景的同一个 init 的调用超过 45 次时,我发现了一个奇怪的行为,f**k 是什么?

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

当一个初始化或整个场景在一秒钟内被调用 50 次时,你能期待什么!!!!这是一个保险丝很短的定时炸弹!

所以,这里是所有其他对象 C++ 初学者,但可能你已经知道这一点,但无论如何我不能再坚持下去了:“当你使用调度程序和定时器时,请提前考虑!!!”

我已经吸取了教训。

现在我回到了正轨,希望能尽快完成 te App!

问候,

约翰

4

1 回答 1

0

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

如前所述,这是我的第一个应用程序。可能像其他初学者一样,有时我们会遇到奇怪的问题。挠头也无济于事。之前我遇到了一些问题,其中一个问题是在 stackoverflow.com 的帮助下解决的。但这并不像这个触摸问题那么奇怪。该应用程序也摆脱了不稳定,本文前面没有提到。

您可以在下面找到解决问题、触摸和不稳定性的方法。我在这里承认,这是初学者的错误。我已经在应用程序中解雇了 NStimers 和调度程序,当关卡完成时,我切换到另一个场景而没有取消调度相关的调度程序。愚蠢的我!!!当日志向我显示对记分板场景的同一个 init 的调用超过 45 次时,我发现了一个奇怪的行为,这他妈的是什么?

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

当一个初始化或整个场景在一秒钟内被调用 50 次时,你能期待什么!!!!这是一个保险丝很短的定时炸弹!

所以,这里是所有其他对象 C++ 初学者,但可能你已经知道这一点,但无论如何我不能再坚持下去了:“当你使用调度程序和定时器时,请提前考虑!!!”

我已经吸取了教训。

现在我回到了正轨,希望能尽快完成 te App!

问候,

约翰

于 2013-06-22T18:04:17.360 回答