en cocos2d, el sistema de coordenadas es bastante sencillo .. abajo a la izquierda está (0,0). cada vez que establezco la posición de cualquier cosa está bien.Sistema de coordenadas Cocos2d
Digamos que una capa es TouchEnabled.
la hora de establecer la posición de mis sprites im, está bien ..
[crab setPosition:ccp(20, 50)];
pero si me da la coordenada X e Y de un toque (y supongo que hice clic en el sprite ..):
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"Touches began!");
NSArray *touchArray = [touches allObjects];
UITouch *one = [touchArray objectAtIndex:0];
pointOne = [one locationInView:[one view]];
CCLOG(@"points are: %f and %f", pointOne.x, pointOne.y);
}
la coordenada y es lo contrario de lo que sugiere el sistema de coordenadas de cocos2d a medida que la y aumenta de arriba hacia abajo.
im asumiendo que el sistema de coordenadas de la vista es diferente al sistema coord de mac ... lo cual es bastante contrario a la intuición ... ¿es eso correcto?
gracias!
convertToNodeSpace convierte un punto que no está en el sistema de coordenadas de nodos actual en sí mismo. Por ejemplo, una coordenada mundial (pero aún en formato OpenGL) para el sistema de coordenadas de nodos. –
Actualiza mi respuesta agregando el método converttogl – lukaswelte
Todavía es incorrecto. Convertir al espacio del nodo no es para los puntos uikit –