He creado un UIScrollView en una aplicación cocos2d. Estoy agregando sprites dinámicamente, más de 3 páginas. En la primera página, tocar funciona perfectamente en un sprite, sin embargo, si utilizo la vista de desplazamiento y navego a la segunda página, tocar no funciona del todo bien ... el sprite responderá al tacto cuando toque la pantalla, aproximadamente el cantidad que he desplazado hacia la izquierda. Si me desplazo hacia atrás a la primera página, tocar funciona perfectamente para un sprite. ¿Algunas ideas? Estoy utilizando el siguiente tutorial: http://getsetgames.com/2009/08/21/cocos2d-and-uiscrollview/ :)UIScrollView y Cocos2D
Creo que algo de código podría ser útil: -
Estoy utilizando el código exacto de su demostración ...
CocosOverlayScrollView y CocosOverlayViewController
estoy creando el CocosOverlayViewController en mi capa de: -
CocosOverlayViewController *scrollView = [CocosOverlayViewController alloc];
[[[Director sharedDirector] openGLView] addSubview:scrollView.view];
estoy creando la capa en mi escena: -
Scene *scene = [Scene node];
GridLayer *layer = [GridLayer node];
[scene addChild: layer z:-1];
[scene setTag:12];
Estoy creando los sprites en mi capa de: -
myImage.position = ccp(53 * (coordinate.x + 0.52), 57 * (coordinate.y + 1.45));
[myImage runAction:[FadeIn actionWithDuration:0.3]];
myImage.relativeAnchorPoint = YES;
[self addChild:myImage z:-1];
El sprite está utilizando el TouchesDispatcher y los detalles son resuelto en la clase.
Si utilizo la función moveto cocos2d en la capa, puedo tocar un sprite y responde, así sé que funciona, las cosas se ponen un poco raras cuando uso UIScrollView.
espero que entiendan mi problema y puede ayudar, todo lo mejor :)
Carl
¡Hola Carl, estás hablando con el tipo que escribió ese artículo! Me alegro de que lo haya encontrado y espero que haya comenzado bien con las cosas. En cuanto a su problema, parece que está utilizando una instancia de desplazamiento de página paginada, ¿verdad? No escribí el artículo teniendo en cuenta ese caso, pero estoy seguro de que podemos resolverlo –
Estoy utilizando una vista de desplazamiento de página, pero mi aplicación no depende de eso, así que puedo eliminarla. No creo haberlo explicado muy bien antes, el evento táctil funciona perfectamente en la primera 'página', pero cuando me desplazo (aunque sea un poco) el sprite se mueve pero el evento táctil aún responde a la posición anterior de los sprites. ¿Algunas ideas? – Carl
Creé un proyecto de muestra usando Cocos2d y UIScrollView y publiqué un enlace en los foros de cocos2d: http://www.cocos2d-iphone.org/forum/topic/9417 –