对象不是在opengles中移动

时间:2011-03-03 07:28:37

标签: iphone opengl-es

我是opengles的新手,我创建了EAGLView类代码,如下所示 我在EAGLView类中添加了以下方法

- (void)updateScene:(CGPoint)delta {
   float f=delta.x;
NSLog(@"%f",f);
glLoadIdentity(); 
glPushMatrix();
glTranslatef(f,0.0, 0.0);
glPopMatrix();



/////////
}

我想在用户触摸屏幕时移动对象,触摸方法的代码在控制器下面给出

 - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];

CGPoint touchLocation = [touch locationInView:self.eaglView];

[eaglView updateScene:touchLocation];
}

1 个答案:

答案 0 :(得分:0)

正如我从您的代码中看到的那样,您正在推动矩阵,进行转换,然后弹出矩阵。但没有绘画。这样做:

- (void)updateScene:(CGPoint)delta {
   float f=delta.x;
   NSLog(@"%f",f);
   glLoadIdentity(); 
   glPushMatrix();
   glTranslatef(f,0.0, 0.0);
   //draw something here
   glPopMatrix();
}

顺便说一下:你必须将视图坐标转换为标准化设备坐标(x和y都在[-1..1]范围内)。