Объект не движется в открытых местах - PullRequest
0 голосов
/ 03 марта 2011

Я новичок в 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 голосов
/ 03 марта 2011

Как я вижу из вашего кода, вы нажимаете матрицу, выполняете преобразование, а затем извлекаете матрицу.Но нет рисунка.Сделайте это следующим образом:

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

И кстати: вам нужно преобразовать координаты вида в нормализованные координаты устройства (которые находятся в диапазоне [-1..1] для x и y).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...