在Cocos2d中关门过渡

时间:2012-07-06 13:54:45

标签: iphone cocos2d-iphone transition

我正试图让门关闭过渡,就像我们在Kingdom Rush看到的那样。 (两扇门来自左侧和右侧)

我在想的是两种方法:

  • 第一个可能是自定义转换,将输入作为门图像

    对于这种方法,我找不到办法,尽管这是我的首选方式

  • 第二种方法可以是在第一个场景上创建关门动画,并在第二个场景上关闭同一个门推动第二个场景。在那之后做开门动画。

    这种方法是可行的,但我想知道在场景转换中是否会出现闪烁

有没有人遇到过这个问题?

提前致谢

2 个答案:

答案 0 :(得分:0)

查看cocos2d源代码中的CCTransition.m文件。在翻转过渡类中,您可以找到CCOrbitCamera操作用法的示例。如果是场景,它会将它们翻转到他们的中心。但所有过渡都与节点的锚点相关。所以你可以尝试不同的变体。

答案 1 :(得分:0)

我建议第二个。 它很容易......就像这样:

在单独的类中制作动画,在场景中只需调用动画以在场景结束时关闭,并将下一个场景替换为:[[CCDirector sharedDirector]replaceScene:[NextScene scene]];

如果您的场景加载速度相对较快..它根本不会闪烁..但是如果它(由于某种原因)创建另一个线程并将“大事物”添加到后台线程中的下一个场景以便场景立即加载,并在您为门设置动画时加载其余部分。

要检测门是否关闭......只需在第一个场景中将NSUserDefaults BOOL设置为YES,在第二个场景中将门设置为关闭。

至于动画本身,只需在屏幕外制作2个ccsprit,然后在屏幕上制作动画。另外。因为当你离开场景时精灵已经在内存中,你不需要在下一个加载任何东西场景......所以它是即时的。