2010-12-13 3 views
3

iPhone 4에서 OpenGL ES 앱을 테스트하는 중입니다. 처음에 iPhone 3G 및 3G 시뮬레이터에서 앱을 개발했습니다. , this 프로젝트를 시작점으로 사용하는 것보다 이해하기 어려웠습니다. 나는 이것이 실수일지도 모른다고 생각한다.iPhone 4로 앱 업그레이드하기 : 낮은 해상도의 화면 값을 제공하는 방법

iPhone 4에서 게임을 할 때 터치 이벤트는 저해상도 터치 포인트가 아닌 고해상도 출력 (예 : 0-639의 x, 0-959의 y)을 제공합니다 필요 (즉, x : 0-319, y : 0-479). GLPaint와 같은 몇 가지 사과 예제 프로젝트를 살펴 보았습니다.이 프로젝트는 저해상도 터치 포인트를 제공하는 것 같지만 프로젝트와 내 프로젝트의 차이점을 확인할 수 없습니다.

누구든지 도움을 주시면 감사하겠습니다. 이것은 며칠 내에 예정된 프로젝트입니다! (iPhone 4 또는 시뮬레이터에서 어떻게 테스트 할 수 있습니까?) 그러나

답변

0

CAEAGLLayer의 축척 비율을 2.0으로 설정하지 않는 한 OpenGL ES는 아이폰 4 With one exception에 저해상도 모드에서 작동 :

중요 : 정의를 drawRect: 방법을 구현하지해야 CAEAGLLayer 객체에 의해 뒷받침되는보기를. drawRect: 메소드를 구현하면 시스템이 화면의 축척 비율과 일치하도록보기의 기본 축척 비율을 변경합니다. 그리기 코드에서이 동작이 예상되지 않으면 응용 프로그램 내용이 제대로 렌더링되지 않습니다.

적합합니까?

+0

:-)하지만,이 정보 주셔서 감사합니다! 문제를 파악했습니다. 해결책을 간략히 설명하는 게시물을 올립니다. – Jay

2

내가 뭔가를 게시했을 때마다 그 순간에 답을 알아 냈으므로 나를 괴롭 히고 걱정스럽게 생각하는 사람이이 문제에 부딪 힐 경우 게시 할 예정입니다.

GLView에서 터치 정보를 전달하고 정의한 GLViewController에 터치 정보가 전달되었습니다. 그것은 UITouch 객체에이 메시지를 사용하여 터치 포인트를 얻어서, 각 터치에 대한 CGPoint를 만들고 있었다 :

CGPoint touchPoint = [touch locationInView:self.view]; 
문제는 GLViewController는 UIView의 객체에 터치의 위치를하지 얻고 있었다 것 같다

이 객체의 GLView 서브 클래스 그래서 glView가 GLViewController의 GLView 타입의 프로퍼티라면, 코드를

으로 변경하면 모든 것이 정상적으로 작동합니다. 어리석은 실수는 있지만 좋은 학습입니다.

내 미친 공황에서 이익이 될 수이 문제가 다른 사람이 희망 ... 아니

관련 문제