dポイントプレゼントキャンペーン実施中!

iOS4.2でOpenGL ESのプロジェクトを作ると

EAGLView.[hm]
XAppDelegate.[hm]
XViewController.[hm]
XViewController.xib

が自動で出来上がります。これらのファイルを退避しておいて、
新規に View-based applicationを
作ってから、先ほどのEAGLView.[hm]、XViewController.[hm]、XViewController.xib
を加えて、XViewControllerを

XViewController* vc = [[XViewController alloc] initWithNibName:@"XViewController" bundle:nil];

で作ってみても、例のカラフルな正方形の上下運動は出てきません。
XViewController.xibの画面だけは出てくるようで、試しにその上にボタンを配置して
みると、ちゃんとシミュレータ上でそのボタンが現れますが、OpenGL ESの描画というのは
一切ありません。

View-based applicationを作ってその中で OpenGL ESのビューを作りたいのです。
検索するとやり方とかの情報が少しだけありましたが、OpenGL ESの初期化も何も
していない単純にビューを結びつけるやり方の様で、自分としてはなるべく
OpenGLESの初期化関連が行われている、例の正方形の上下運動ができるコードを
含めている形を求めています。

A 回答 (1件)

必要なヘッダファイルを「#import」していますか?


必要なフレームワークを、「プロジェクトに追加」していますか?
    • good
    • 0
この回答へのお礼

harawo さん

ありがとうございます。

#import もフレームワークも問題は無いと思っています。
ビルドしてiPhoneシミュレータ上に画面は出ますし、

[vc startAnimation];

を実行すると、XViewControllerの(例の四角の上下を描画するルーチン)

- (void)drawFrame;

が怒濤のごとく呼び出されます(60回/秒)
これはあくまでタイマーがちゃんと動いているという事でしょうけれど。。。
おそらくOpenGL ES側の初期化がうまくいっていないのだと思います。

気になっていますのは、XViewController(これはXcodeの新規プロジェクトで OpenGL ES Applicationを
選択したときに自動で作られたものです)のインスタンスを作るのが

XViewController* vc = [[XViewController alloc] initWithNibName:@"XViewController" bundle:nil];

で本当にいいのだろうか?ということです。これでいいのかもしれないのですが、多分もっと
補助的な処理が必要なのではないかと。

よろしくお願いします。

お礼日時:2010/11/27 21:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!