2

这是我的问题。

我正在使用 OpenGL ES 在 iPhone 上开发游戏。我开始使用 Xcode 模板 OpenGL ES Application 和一个 EAGLView 等进行开发。

我的菜单视图和游戏视图使用相同的 OGL 视图,但现在我想添加分数排名,所以我需要一个键盘和一个文本字段来写名称,以及一些标签或表格视图来显示排名。

更新:嗯,我认为最好的解决方案是让我当前的 glView 与另一个 UIKit 视图一起放置分数排名并进行切换。

我有 Apress 的《开始 iPhone 开发》一书,我遵循有关多视图的章节。我打算在两个 UIViewController 之间切换,但是当我要对我的游戏进行更改时…… glView 不是 UIViewController,它是 UIView,所以我迷路了。

谁能帮我这个?:-(

非常感谢。

4

2 回答 2

2

好吧,我想我解决了这个问题,所以我与你分享解决方案。

我从书中的多视图示例开始:三个 xib(主窗口和我们切换的两个视图),应用程序。委托,每个视图的两个视图控制器和一个在我们的视图之间切换的根视图控制器。

我在这个项目中添加了 EAGLView 类和渲染器,并将 EAGLView 上的 initWithCoder 方法更改为 initWithFrame:

//- (id) initWithCoder:(NSCoder*)coder
- (id)initWithFrame:(CGRect)frame
{    
    if ((self = [super initWithFrame:frame])) {
    // The same we had.

然后,在我的根视图控制器中,当我点击一个按钮时,我添加了一个 IBAction:

- (IBAction)drawEAGLView:(id)sender {
    CGRect rect = [[UIScreen mainScreen] applicationFrame];
    glView = [[EAGLView alloc] initWithFrame:CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)];
    self.view = glView;
    [glView startAnimation];
}

就这样。非常简单,而且效果很好。也许它需要一些优化,但这是一个很好的起点。

所以,我现在可以让我的分数排名:D

于 2010-02-14T14:07:04.560 回答
0

您可以简单地将普通视图控制器推到 OpenGL 视图(控制器)的顶部,以显示分数排名对话框。例如与presentModalViewController:animated:.

于 2010-02-13T14:50:21.463 回答