2009-11-07 66 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