【问题标题】:How can I create a pop-up window using Cocos2d, SpriteBuilder and Objective-c?如何使用 Cocos2d、SpriteBuilder 和 Objective-c 创建弹出窗口?
【发布时间】:2015-06-19 13:12:04
【问题描述】:

所以我正在尝试这样做:

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

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

感谢任何帮助。

【问题讨论】:

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


    【解决方案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")
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-12
      • 2017-08-28
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      • 1970-01-01
      • 2011-12-25
      • 2010-10-23
      相关资源
      最近更新 更多