1

カスタム UIView で OpenGL es アニメーションを描画したいのですが、どうすればよいですか。drawRect メソッドをオーバーライドする必要があることがわかりました。これは以下にあります。

#import "myView.h"

@implementation myView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
    // Initialization code
    }
    return self;
}

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/

@end

インターフェイスビルダーを使用してビューを描画しました。そのビューにリンクして、opengl アニメーションのクラスを描画 (呼び出し) するにはどうすればよいですか。どなたか具体的に書いていただけませんか。私は初心者です。ありがとう。

4

2 に答える 2

5

他のポスターが言ったように、ビューに OpenGL を実装するために drawRect を使用しません。ビューに OpenGL レイヤーをアタッチします。

EAGLView は 1 つの方法です。アプリを iOS 5 以降に制限したい場合は、GLKit を検討することをお勧めします。これにより、多くのセットアップが行われます。

ただし、注意してください。OpenGL は決して初心者向けの API ではありません。大きくて複雑で、使いにくいです。巨大な学習曲線があります。私は約 30 年間プログラミングをしてきましたが、最初に勉強を始めたときは頭が爆発するところだったのです。

于 2012-06-25T18:13:32.140 に答える
1

あなたが持っている1つの可能性は、あなたのビューを管理させることですCAEAGLLayer(vs. a normal CALayer)。次に、CAEAGLLayerGL 描画コードをレンダリングします。

自分自身をサブクラス化しようとする代わりに、いくつかの SDK サンプルで Apple が提供するクラスUIViewを確認することをお勧めします。がどのように定義され、どのように使用できるかを示すApple のこのサンプルをEAGLView見てください。EAGLView

于 2012-06-25T17:04:54.380 に答える