OStack程序员社区-中国程序员成长平台

标题: ios - 如何使用 Cocos2d、SpriteBuilder 和 Objective-c 创建弹窗? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 08:23
标题: ios - 如何使用 Cocos2d、SpriteBuilder 和 Objective-c 创建弹窗?

所以我正在尝试这样做:

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

但由于我没有使用 SpriteKit,我无法使用这种确切的方法。 我想应该有一种方法可以使用 Sprite 构建器图层选项创建相同的弹出窗口效果?然后使用一些现有的 CCAction 方法对其进行动画处理。我不确定,也不知道如何弄清楚。

感谢任何帮助。



Best Answer-推荐答案


一个简单的方法是创建一个 CCLayer,就像你说的那样,并为其设置动画。

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

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

完成此操作后,您所要做的就是从代码中调用动画。例如,如果我有一个选择器为“showPopup”的 CCButton,我会这样做:

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

假设你做的一切都正确,弹出窗口现在会出现!但是现在你被屏幕上的弹出框困住了,没有出路。

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

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

现在您有了一个可以制作动画的“弹出”窗口!

关于ios - 如何使用 Cocos2d、SpriteBuilder 和 Objective-c 创建弹窗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30939078/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4