Обнаружение прикосновений на NSOpenGLView - PullRequest
2 голосов
/ 05 января 2010

Я добавил NSOpenGLView в мой MainMenu.xib файл и реализовал drawRect для его рисования, это прекрасно работает, пока что все хорошо.

Как обнаружить касания на экране? Я полагаю, я мог бы сбросить несколько прозрачных кнопок или что-то в области NSOpenGLView в Интерфейсном Разработчике?

Приложение простое, мне просто нужно знать, какая область сетки была затронута.

1 Ответ

1 голос
/ 06 января 2010

Нет необходимости добавлять прозрачные кнопки или наложения.

Я предполагаю, что это для телефона, потому что вы упомянули Cocoa Touch, но я не знаю NSOpenGLView для телефона. Вам нужно взглянуть на пример Apple и создать EAGLView, переопределив +layerClass в своем подклассе, таким образом:

+ (Class)layerClass {
    return [CAEAGLLayer class];
}

Далее убедитесь, что в IB установлен флажок «Взаимодействие с пользователем включено».

Наконец, реализуем вызовы метода touch:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

Они скажут вам, где пользователи касались поверхности и сколько пальцев. Вы можете сделать все остальное оттуда. Попробуйте создать шаблон OpenGL проекта и посмотрите на это. Кроме того, Джефф Ламарш (Jeff LaMarche) имеет несколько хороших руководств по iPhone OpenGL в своем блоге: http://iphonedevelopment.blogspot.com/

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