iphone - cocos2d - cocos game creator
cocos2d: alineaciĆ³n de texto LabelAtlas? (4)
FWIW, terminé escribiendo código para hacer esto.
if(delegate.score > 99) {
[scoreLabel setPosition:ccp(374, 265)];
} else if(delegate.score > 9) {
[scoreLabel setPosition:ccp(410, 265)];
}
¿Hay alguna forma en Cocos2d 0.7.1 para especificar la alineación de texto en LabelAtlas?
Estoy usando un LabelAtlas para un puntaje (que se muestra en la esquina superior derecha), pero cuando el puntaje supera 10, el segundo dígito se corta.
Puedo implementar código para detectar eso y mover LabelAtlas, pero ¿hay alguna forma de que cocos2d lo haga por mí?
Gracias.
Mientras eso funcione, tendrás el mismo problema si el puntaje supera 1000.
Puede usar la propiedad anchorPosition
para cambiar dónde se define la posición. Por ejemplo; en mi juego scoreLabel
la scoreLabel
de scoreLabel
en la esquina inferior derecha de la pantalla. Para garantizar que esté siempre visible, configuro anchorPosition
como la esquina inferior derecha de la etiqueta y luego establezco su position
donde quiero que esté la esquina inferior derecha de la etiqueta.
[scoreLabel setAnchorPoint:ccp(1, 0)];
[scoreLabel setPosition:ccp(480, 0)];
Si lo quiere colocar en la esquina superior derecha de la pantalla, puede utilizar de manera similar el siguiente código para definir el ancla como la esquina superior derecha.
[scoreLabel setAnchorPoint:ccp(1, 1)];
[scoreLabel setPosition:ccp(480, 320)];
Simplemente uso esto para centrar mis LabelAtlas
:
[scoreLabel setAnchorPoint:ccp(.5, .5)];
Cuando el puntaje cambia, la etiqueta permanece alineada en el centro sin actualizar la posición.