2011-11-02 39 views
1

我有一个CCScene,只有很少的UIKit元素[例如UITextView]。 经过一些用户交互之后,我想在场景中打开一个弹出窗口来覆盖UITextView的一部分。 我使用的z索引并不重要,它总是出现在文本视图下。 关于如何做的任何提示?uikit元素上的Cocos2d节点

回答

0

您的CCNodes是在EAGLView的Cocos中使用的。您需要管理EAGLView(s)相对于其他UIViews的顺序。看看http://www.gdcvault.com/play/1012504/The-Best-of-Both-Worlds的例子,将EAGLViews中的Cocos绘图与其他UIKit视图混合使用。

+0

请问您能更具体吗?您指向的文档不是很有用,因为它是完全不同的场景。不是真的cocos2d。 – Krystian

+0

Cocos2d只能在EAGLView中显示CCNode。这是完全一样的问题。但是,也许你会发现http://www.raywenderlich.com/4817/how-to-integrate-cocos2d-and-uikit有帮助。 简短的答案仍然是,你需要多个EAGLViews。单个EAGLView无法在其他UIView的上方和下方绘制自己。 – Jonah

+1

你猜这是'没有办法'很容易' - 这是使用常规的cocos2d流。无论如何...我最终隐藏了显示弹出窗口之前的元素。不是一个理想的方式,但现在就足够了。谢谢。 – Krystian

0

又一想,我会这么说了我的头顶部没有先尝试...

从内存中,你可以从一个UIView获得该意见内容的图像。如果在用户交互完成后,想要将弹出窗口放在文本字段上,可以从中创建UIimage,将其转换为纹理,从中创建一个ccsprite并将其放置在屏幕上的sam e点。然后,您可以隐藏实际的文本字段,然后弹出您的弹出窗口。用户将无法区分差异。

+0

但是当我发现弹出窗口上的按钮被点击时,我将不得不通过定位地狱;) 5种类型的弹出窗口,包括文本框,+/-按钮和普通按钮。 – Krystian

+0

对不起,但我从你的问题中了解到,弹出窗口是在用户交互后显示的,所以我想到一个假的不会妨碍你。 – PKCLsoft