【问题标题】:How can I create a pop-up window using Cocos2d, SpriteBuilder and Objective-c?如何使用 Cocos2d、SpriteBuilder 和 Objective-c 创建弹出窗口?
【发布时间】:2015-06-19 13:12:04
【问题描述】:
【问题讨论】:
标签:
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")
}
现在您有了一个可以制作动画的“弹出”窗口!