Нет необходимости добавлять прозрачные кнопки или наложения.
Я предполагаю, что это для телефона, потому что вы упомянули 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/