2009-11-07 69 views
0

我想使用实用程序应用程序获得OpenGL视图。将OpenGL ES模板和实用程序模板结合起来

我该做什么: 我创建了一个OpenGL ES应用程序模板和一个Utility Application模板。 我复制文件EAGLView.m和h,以及五个ES 渲染器。文件从Opengl项目到实用程序项目。

我复制这些线路从OpenGl的项目,该电力项目:(在utilityAppDelegate.m)

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
... 
[glView startAnimation]; 
} 

- (void) applicationWillResignActive:(UIApplication *)application 
{ 
[glView stopAnimation]; 
} 

- (void) applicationDidBecomeActive:(UIApplication *)application 
{ 
[glView startAnimation]; 
} 

- (void)applicationWillTerminate:(UIApplication *)application 
{ 
[glView stopAnimation]; 
} 

- (void)dealloc { 
... 
[glView release]; 
... 
} 

而在utilityAppDelegate.h我补充一下:

@class EAGLView; 
EAGLView *glView; 
@property (nonatomic, retain) IBOutlet EAGLView *glView; 

我去视图的身份检查员,并将类标识更改为EAGLview。

我打开mainview.xib和mainwindow.xib并从mainwindow.xib拖动app_delegate,以便能够将glView插座连接到视图。 (不知道是否这样做,但这是我可以将glView变量连接到视图的唯一方式)

当我构建并运行时,多色方块出现在屏幕上,但它不生动!

当我调试时,applicationDidFinishLaunching中的glView变量为0,并且不调用startAnimation。我怀疑这与插座连接到视图的方式有什么关系?可能没有连接。 :-) 这个错误可能很明显,但我在这个平台上只有5个星期。

缺什么?我做错了什么?

谢谢!

回答

0

我不知道你是否已经提供了足够的信息来确切地说出你的情况出了什么问题。不过,我建议你看看我的iPhone应用程序Molecules的源代码。

虽然它稍微复杂一些,但应用程序基于这两个模板。它使用OpenGL ES主视图(提供三维分子渲染)和三维表格视图/导航控制器(用于切换分子结构,检查其属性并下载新的分子结构)。您可以查看该示例以查看您可能会做错什么,或者甚至用我自己的代码替换我的渲染和查看代码。

+0

谢谢,但您的Molecules示例对我来说有点太复杂,他刚刚开始使用iPhone SDK。 – OMH 2009-11-08 10:00:36

+0

在处理混合两个模板之前,您可能需要从较小的项目开始。 – 2009-11-10 13:52:00