Iphone 需要在视图顶部显示一个旋转立方体

Iphone 需要在视图顶部显示一个旋转立方体,iphone,ios,user-interface,opengl-es,Iphone,Ios,User Interface,Opengl Es,我的应用程序顶部有一个半透明图像视图,我需要在该视图上显示一个3D立方体(甚至是一个3D外观相似的立方体,由3个多边形组成)。 立方体的每个面都是可触摸的,触摸后应能识别。也就是说,用它的ID触发一个事件,或者每次触发它自己的事件,这反过来将使立方体。。。 我怎样才能做到这一点 我将尝试想象我在追求什么: 那么,从这个显示的立方体开始… 触摸红脸后 这段代码只是显示了一个触发事件的简单可触摸按钮,这就是我现在所拥有的 @implementation cubeView - (id)initW

我的应用程序顶部有一个半透明图像视图,我需要在该视图上显示一个3D立方体(甚至是一个3D外观相似的立方体,由3个多边形组成)。
立方体的每个面都是可触摸的,触摸后应能识别。也就是说,用它的ID触发一个事件,或者每次触发它自己的事件,这反过来将使立方体。。。 我怎样才能做到这一点

我将尝试想象我在追求什么:

那么,从这个显示的立方体开始…

触摸红脸后

这段代码只是显示了一个触发事件的简单可触摸按钮,这就是我现在所拥有的

@implementation cubeView

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

        [self setBackgroundColor:[UIColor clearColor]];
        UIImageView *view = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Label.png"]];
        // For RETINA DISPLAY create an image named Label@2x.png and make it twice big in x and in y
        [self addSubview:view];
        UILabel * lbl = [[UILabel alloc] initWithFrame:CGRectMake(20,20,100,30)];
        [lbl setText:@"Hello"];
        [lbl setBackgroundColor:[UIColor clearColor]];
        [self addSubview:lbl];
    }
    return self;
}
视图控制器

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIView *container = [[[UIView alloc] initWithFrame:CGRectMake(100, 0, 400, 200)]  
autorelease];
    [self.view addSubview:container];
    container.alpha = 0.2;
    UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
    b.frame = CGRectMake(0, 0, 201, 98);
    cubeView *cb = [[[SS alloc] initWithFrame:CGRectMake(0, 0, 201, 98)] autorelease];
    [b setImage:[self imageWithView:cb] forState:UIControlStateNormal];
    [container addSubview:b];
    [b addTarget:self action:@selector(clicked:)forControlEvents:UIControlEventTouchUpInside];



}

我不确定你的问题到底是什么,但是如果你想找到旋转立方体的方法,你需要一些坐标来指定它的边和顶点。我的项目有一个旋转立方体,它使用旋转矩阵来找到它的最终坐标。你需要输入你必须旋转的角度。要“旋转”它,你需要以你喜欢的速度/精度步进通过角度,并在连续调用“视图”立方体函数之间保持特定的暂停,以便它逐渐旋转。在matlab中使用“patch”命令显示立方体是可行的。也许ios开发中也有类似的功能。

我知道使用openGL 3D可能有些过火,我更多地考虑了多边形方法,但我正在寻找一些代码来在上面显示的半透明视图上实现。