如何使用Cocos2d,SpriteBuilder和Objective-c创建弹出窗口?

时间:2015-06-19 13:12:05

标签: ios objective-c cocos2d-iphone popup spritebuilder

所以我试着这样做:

http://blog.typpz.com/2013/12/09/ios-sdk-create-a-pop-up-window/

但由于我没有使用SpriteKit,我无法使用这种确切的方法。 我想应该有一种方法可以使用sprite构建器层选项创建相同的弹出窗口效果吗?然后使用一些存在的CCAction方法对其进行动画处理。我不确定,但不知道怎么去搞清楚。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

执行此操作的一种简单方法是创建CCLayer,如您所说,并为其设置动画。

一旦你创建了一个CCLayer到你想要的“弹出窗口”的大小,然后添加你想要放入的任何内容,你就可以开始动画了。

如果您希望在链接的教程中获得与动画相似的效果,最好的方法是使用CCActionFadeIn和CCActionScaleTo的组合。方便的是,Spritebuilder的动画集具有以下两种功能,您可以在Spritebuilder中轻松设置关键帧动画,而无需太多代码。 (确保将动画序列命名为您可以轻松记住的内容,因为在开始编码时需要重新引用它 - 我称之为“PopupAnimation”,或类似的东西。)

完成上述操作后,您只需从代码中调用动画即可。例如,如果我有一个CCButton,其选择器是“showPopup”,我会这样做:

func showPopup() {
    self.animationManager.runAnimationsForSequenceNamed("PopupAnimation")
}

假设你已经做好了一切,现在会出现弹出窗口!但现在你仍然坚持使用屏幕上的弹出窗口,而且没有任何出路。

要解决这个问题,请制作另一个动画序列(我称之为“RemovePopup”),它将从屏幕上删除弹出窗口。在CCLayer添加一个按钮,并将其选择器设置为“hidePopup”。然后,您可以从代码中运行:

func hidePopup() {
    self.animationManager.runAnimationsForSequenceNamed("RemovePopup")
}

现在你有了一个可以设置动画的“弹出窗口”窗口!