我是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];
}
答案 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]范围内)。